runtime(kdl): fix KdlIndent and kdlComment in indent script (#15019)

Commit: 
https://github.com/vim/vim/commit/79da22de755e28bd8d4f58fc4bf34cf94f45de63
Author: Yinzuo Jiang <jiangyin...@foxmail.com>
Date:   Sun Jun 16 14:47:47 2024 +0800

    runtime(kdl): fix KdlIndent and kdlComment in indent script 
(https://github.com/vim/vim/issues/15019)
    
    Signed-off-by: Yinzuo Jiang <jiangyin...@foxmail.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/indent/kdl.vim b/runtime/indent/kdl.vim
index b1b004d0a..b0a6bd90d 100644
--- a/runtime/indent/kdl.vim
+++ b/runtime/indent/kdl.vim
@@ -2,7 +2,7 @@
 " Language:         KDL
 " Author:           Aram Drevekenin <a...@poor.dev>
 " Maintainer:       Yinzuo Jiang <jiangyin...@foxmail.com>
-" Last Change:      2024-06-11
+" Last Change:      2024-06-16
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -14,13 +14,17 @@ setlocal indentexpr=KdlIndent()
 let b:undo_indent = "setlocal indentexpr<"
 
 function! KdlIndent(...)
-  let line = getline(v:lnum)
+  let line = substitute(getline(v:lnum), '//.*$', '', '')
   let previousNum = prevnonblank(v:lnum - 1)
-  let previous = getline(previousNum)
+  let previous = substitute(getline(previousNum), '//.*$', '', '')
 
-  if previous =~ "{" && previous !~ "}" && line !~ "}" && line !~ ":$"
-    return indent(previousNum) + shiftwidth()
-  else
-    return indent(previousNum)
+  let l:indent = indent(previousNum)
+  if previous =~ "{" && previous !~ "}"
+    let l:indent += shiftwidth()
   endif
+  if line =~ "}" && line !~ "{"
+    let l:indent -= shiftwidth()
+  endif
+  return l:indent
 endfunction
+" vim: sw=2 sts=2 et
diff --git a/runtime/syntax/kdl.vim b/runtime/syntax/kdl.vim
index a36bb9e92..97e8f93b6 100644
--- a/runtime/syntax/kdl.vim
+++ b/runtime/syntax/kdl.vim
@@ -2,7 +2,7 @@
 " Language: KDL
 " Maintainer: Aram Drevekenin <a...@poor.dev>
 " Maintainer: Yinzuo Jiang <jiangyin...@foxmail.com>
-" Latest Revision: 2024-06-10
+" Latest Revision: 2024-06-16
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -13,7 +13,8 @@ syn match kdlNode ' (\w|-|\=)' display
 syn match kdlBool ' (true|false)' display
 
 syn keyword kdlTodo contained TODO FIXME XXX NOTE
-syn match kdlComment "//.*$" contains=kdlTodo
+syn region  kdlComment start="//"  end="$"   contains=kdlTodo,@Spell
+syn region  kdlComment start="/\*" end="\*/" contains=kdlTodo,@Spell
 
 " Regular int like number with - + or nothing in front
 syn match kdlNumber '\d\+'
@@ -22,17 +23,17 @@ syn match kdlNumber '[-+]\d\+'
 " Floating point number with decimal no E or e (+,-)
 syn match kdlNumber '\d\+\.\d*' contained display
 syn match kdlNumber '[-+]\d\+\.\d*' contained display
- 
+
 " Floating point like number with E and no decimal point (+,-)
 syn match kdlNumber '[-+]\=\d[[:digit:]]*[eE][\-+]\=\d\+' contained display
 syn match kdlNumber '\d[[:digit:]]*[eE][\-+]\=\d\+' contained display
- 
+
 " Floating point like number with E and decimal point (+,-)
 syn match kdlNumber '[-+]\=\d[[:digit:]]*\.\d*[eE][\-+]\=\d\+' contained 
display
 syn match kdlNumber '\d[[:digit:]]*\.\d*[eE][\-+]\=\d\+' contained display
 
 syn region kdlString start='"' end='"' skip='\\\|\"' display
- 
+
 syn region kdlChildren start="{" end="}" 
contains=kdlString,kdlNumber,kdlNode,kdlBool,kdlComment
 
 hi def link kdlTodo        Todo
@@ -43,3 +44,5 @@ hi def link kdlString      String
 hi def link kdlNumber      Number
 
 let b:current_syntax = "kdl"
+
+" vim: sw=2 sts=2 et

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/E1sIjrx-00FxZj-H1%40256bit.org.

Raspunde prin e-mail lui