runtime(vim): Update base-syntax, improve Vim9 block start pattern

Commit: 
https://github.com/vim/vim/commit/1cccdebc0f20281daabce3bef0a5cec3a04ffd25
Author: Doug Kearns <dougkea...@gmail.com>
Date:   Thu Jun 5 20:23:07 2025 +0200

    runtime(vim): Update base-syntax, improve Vim9 block start pattern
    
    The opening curly brace must be followed by whitespace, comment or
    trailing bar.
    
    closes: #17454
    
    Signed-off-by: Doug Kearns <dougkea...@gmail.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/syntax/generator/vim.vim.base 
b/runtime/syntax/generator/vim.vim.base
index fa76c3ce9..b381be67f 100644
--- a/runtime/syntax/generator/vim.vim.base
+++ b/runtime/syntax/generator/vim.vim.base
@@ -2,7 +2,7 @@
 " Language:       Vim script
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkea...@gmail.com>
-" Last Change:    2025 Jun 02
+" Last Change:    2025 Jun 05
 " Former Maintainer: Charles E. Campbell
 
 " DO NOT CHANGE DIRECTLY.
@@ -674,7 +674,12 @@ endif
 
 " Blocks: {{{2
 " ======
-Vim9 syn region        vim9Block       matchgroup=vimSep start="{" 
end="^\s*\zs}" contains=@vimDefBodyList
+Vim9 syn region        vim9Block
+      \ matchgroup=vimSep
+      \ start="{\ze\s*\%($\|[#|]\)"
+      \ end="^\s*\zs}"
+      \ skipwhite nextgroup=vim9Comment,vimCmdSep
+      \ contains=@vimDefBodyList
 
 " Keymaps: {{{2
 " =======
diff --git a/runtime/syntax/testdir/dumps/vim9_block_00.dump 
b/runtime/syntax/testdir/dumps/vim9_block_00.dump
index 6f4122a41..dfabed45a 100644
--- a/runtime/syntax/testdir/dumps/vim9_block_00.dump
+++ b/runtime/syntax/testdir/dumps/vim9_block_00.dump
@@ -1,12 +1,14 @@
 >v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64
-@75
 |#+0#0000e05&| |V|i|m|9| |b|l|o|c|k|s| +0#0000000&@61
+|#+0#0000e05&| |V|I|M|_|T|E|S|T|S|E|T|U|P| |s|e|t| |l|i|s|t| 
|l|i|s|t|c|h|a|r|s|=|t|a|b|:|>| 
|,|t|r|a|i|l|:|-|,|e|x|t|e|n|d|s|:|>|,|p|r|e|c|e|d|e|s|:|<|,|n|b|s|p
+|:|+| +0#0000000&@72
 @75
 @75
 |{+0#e000e06&| +0#0000000&@73
 @2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
 |}+0#e000e06&| +0#0000000&@73
 @75
+@75
 |{+0#e000e06&| +0#0000000&@73
 @2|{+0#e000e06&| +0#0000000&@71
 @4|{+0#e000e06&| +0#0000000&@69
@@ -15,6 +17,4 @@
 @6|}+0#e000e06&| +0#0000000&@67
 @6|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@56
 @4|}+0#e000e06&| +0#0000000&@69
-@4|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@58
-@2|}+0#e000e06&| +0#0000000&@71
 @57|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/vim9_block_01.dump 
b/runtime/syntax/testdir/dumps/vim9_block_01.dump
index ab9c99655..533eb9120 100644
--- a/runtime/syntax/testdir/dumps/vim9_block_01.dump
+++ b/runtime/syntax/testdir/dumps/vim9_block_01.dump
@@ -1,12 +1,15 @@
-| +0&#ffffff0@7|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@54
+| +0&#ffffff0@3|{+0#e000e06&| +0#0000000&@69
+@6|{+0#e000e06&| +0#0000000&@67
+@8|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@54
 @6|}+0#e000e06&| +0#0000000&@67
 @6|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@56
-@4|}+0#e000e06&| +0#0000000&@69
+@4>}+0#e000e06&| +0#0000000&@69
 @4|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@58
-@2>}+0#e000e06&| +0#0000000&@71
+@2|}+0#e000e06&| +0#0000000&@71
 @2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
 |}+0#e000e06&| +0#0000000&@73
 @75
+@75
 |d+0#af5f00255&|e|f| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@65
 @2|{+0#e000e06&| +0#0000000&@71
 @4|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@58
@@ -14,7 +17,4 @@
 @2|}+0#e000e06&| +0#0000000&@71
 |e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
 @75
-|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|f|o@1|"| +0#0000000&||| 
|{+0#e000e06&| +0#0000000&@60
-@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
-|}+0#e000e06&| +0#0000000&@73
-@57|1|9|,|3| @9|9|2|%| 
+@57|1|8|,|5| @9|4|0|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_block_02.dump 
b/runtime/syntax/testdir/dumps/vim9_block_02.dump
index 32a4881d2..c91074ada 100644
--- a/runtime/syntax/testdir/dumps/vim9_block_02.dump
+++ b/runtime/syntax/testdir/dumps/vim9_block_02.dump
@@ -1,20 +1,20 @@
-|}+0#e000e06#ffffff0| +0#0000000&@73
-> @74
-|~+0#4040ff13&| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-| +0#0000000&@56|3@1|,|0|-|1| @7|B|o|t| 
+| +0&#ffffff0@74
+@75
+|#+0#0000e05&| |s|t|a|r|t|/|e|n|d| |p|a|t@1|e|r|n|s| +0#0000000&@54
+@75
+|{+0#e000e06&| +0#0000000&@73
+@2>v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
+|}+0#e000e06&| +0#0000000&@73
+@75
+|{+0#e000e06&| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@63
+@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
+|}+0#e000e06&| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@63
+@75
+|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| 
|{+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| 
+0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@47
+@2|v+0#af5f00255&|a|r| +0#0000000&|f+0#00e0e07&|o@1| 
+0#0000000&|=+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@60
+|}+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| 
+0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@60
+@75
+|#+0#0000e05&| |d|i|c|t|i|o|n|a|r|y| +0#0000000&@62
+|{+0#e000e06&|}|-+0#af5f00255&|>|i+0#00e0e07&|t|e|m|s|(+0#e000e06&|)| 
+0#0000000&@63
+@75
+@57|3|6|,|3| @9|B|o|t| 
diff --git a/runtime/syntax/testdir/input/vim9_block.vim 
b/runtime/syntax/testdir/input/vim9_block.vim
index 3880f97ac..ddc6657ff 100644
--- a/runtime/syntax/testdir/input/vim9_block.vim
+++ b/runtime/syntax/testdir/input/vim9_block.vim
@@ -1,17 +1,18 @@
 vim9script
-
 # Vim9 blocks
+# VIM_TESTSETUP set list listchars=tab:> ,trail:-,extends:>,precedes:<,nbsp:+
 
 
 {
   var foo = 42
 }
 
+
 {
   {
     {
       {
-       var foo = 42
+        var foo = 42
       }
       var foo = 42
     }
@@ -20,6 +21,7 @@ vim9script
   var foo = 42
 }
 
+
 def Foo()
   {
     var foo = 42
@@ -27,7 +29,21 @@ def Foo()
   }
 enddef
 
-echo "foo" | {
+
+# start/end patterns
+
+{             
   var foo = 42
-}
+}             
+
+{ # comment
+  var foo = 42
+} # comment
+
+echo "Foo" | { | echo "Bar"
+  var foo = 42
+} | echo "Baz"
+
+# dictionary
+{}->items()
 
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 6afcb0492..18c5e9eb6 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -2,7 +2,7 @@
 " Language:       Vim script
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkea...@gmail.com>
-" Last Change:    2025 Jun 02
+" Last Change:    2025 Jun 05
 " Former Maintainer: Charles E. Campbell
 
 " DO NOT CHANGE DIRECTLY.
@@ -727,7 +727,12 @@ endif
 
 " Blocks: {{{2
 " ======
-Vim9 syn region        vim9Block       matchgroup=vimSep start="{" 
end="^\s*\zs}" contains=@vimDefBodyList
+Vim9 syn region        vim9Block
+      \ matchgroup=vimSep
+      \ start="{\ze\s*\%($\|[#|]\)"
+      \ end="^\s*\zs}"
+      \ skipwhite nextgroup=vim9Comment,vimCmdSep
+      \ contains=@vimDefBodyList
 
 " Keymaps: {{{2
 " =======

-- 
-- 
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 visit 
https://groups.google.com/d/msgid/vim_dev/E1uNFLp-001wy1-0N%40256bit.org.

Raspunde prin e-mail lui