]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(vim): Update base syntax, match Vim9 :unlet command
authorDoug Kearns <dougkearns@gmail.com>
Sun, 1 Feb 2026 15:03:46 +0000 (15:03 +0000)
committerChristian Brabandt <cb@256bit.org>
Sun, 1 Feb 2026 15:03:46 +0000 (15:03 +0000)
closes: #19290

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
17 files changed:
runtime/syntax/generator/vim.vim.base
runtime/syntax/testdir/dumps/vim9_variables_02.dump
runtime/syntax/testdir/dumps/vim9_variables_03.dump
runtime/syntax/testdir/dumps/vim9_variables_04.dump
runtime/syntax/testdir/dumps/vim9_variables_05.dump
runtime/syntax/testdir/dumps/vim9_variables_06.dump
runtime/syntax/testdir/dumps/vim9_variables_07.dump
runtime/syntax/testdir/dumps/vim9_variables_08.dump
runtime/syntax/testdir/dumps/vim9_variables_09.dump
runtime/syntax/testdir/dumps/vim9_variables_10.dump
runtime/syntax/testdir/dumps/vim9_variables_11.dump
runtime/syntax/testdir/dumps/vim9_variables_12.dump
runtime/syntax/testdir/dumps/vim9_variables_13.dump
runtime/syntax/testdir/dumps/vim9_variables_14.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_variables_15.dump [new file with mode: 0644]
runtime/syntax/testdir/input/vim9_variables.vim
runtime/syntax/vim.vim

index afde79fbbc8111bfc93b3de1d73a0da4351ef930..0a4da554a885b1966f11c31a3011d1670a976f3e 100644 (file)
@@ -2,7 +2,7 @@
 " Language:       Vim script
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkearns@gmail.com>
-" Last Change:    2026 Jan 11
+" Last Change:    2026 Jan 30
 " Former Maintainer: Charles E. Campbell
 
 " DO NOT CHANGE DIRECTLY.
@@ -1167,11 +1167,11 @@ syn region      vimLetVarSubscript contained
       \ skipwhite nextgroup=vimLetVarSubscript,vimLetHeredoc
       \ contains=@vimExprList
 
-VimL syn keyword       vimUnlet                unl[et] skipwhite nextgroup=vimUnletBang,vimUnletVars
+syn keyword    vimUnlet                unl[et] skipwhite nextgroup=vimUnletBang,vimUnletVars
 syn match      vimUnletBang    contained       "\a\@1<=!"      skipwhite nextgroup=vimUnletVars
 syn region     vimUnletVars    contained
-      \ start="$\I\|\h" skip=+\n\s*\%(\\\|"\\ \)\|^\s*"\\ + end="$" end="\ze[|"]"
-      \ nextgroup=vimCmdSep,vimComment
+      \ start="$\I\|\h" skip=+\n\s*\%(\\\|["#]\\ \)\|^\s*["#]\\ + end="$" end=+\ze\s*[|"#]+
+      \ skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment
       \ contains=@vimContinue,vimEnvvar,vimVar,vimVimVar
 
 " TODO: type error after register or environment variables (strings)
index ee7035ed87a857f8cdbafabd9dcbec5ceaaed420..1c315aee23aaf58e071edbb082c9f675de55c5e7 100644 (file)
@@ -17,4 +17,4 @@
 |E+0#e000e06&|N|D| +0#0000000&@71
 @75
 |#+0#0000e05&| |T|y|p|e|d| |d|e|c|l|a|r|a|t|i|o|n|s| +0#0000000&@54
-@57|3|7|,|1| @9|1|4|%| 
+@57|3|7|,|1| @9|1|2|%| 
index d390975f5955b78d61b40f6768cbc0c677687f1a..bb0a3660ba69ba7d649dee3bfcbea4fc57c46c58 100644 (file)
@@ -17,4 +17,4 @@
 @6|\+0#e000e06&|>+0#00e0003&| +0#0000000&@66
 @75
 |#+0#0000e05&| |A|s@1|i|g|n|m|e|n|t|s| +0#0000000&@61
-@57|5@1|,|1| @9|2@1|%| 
+@57|5@1|,|1| @9|1|9|%| 
index a519e7eb55d67c872784098e3f591032ec20437f..09eecdfa6364d08e2b36060f1aeafd76b3162478 100644 (file)
@@ -17,4 +17,4 @@
 |f+0#00e0e07&|o@1| +0#0000000&|*+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@63
 |f+0#00e0e07&|o@1| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@63
 |f+0#00e0e07&|o@1| +0#0000000&|%+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@63
-@57|7|3|,|0|-|1| @7|3|0|%| 
+@57|7|3|,|0|-|1| @7|2|6|%| 
index ce50a1a912e7cfebba3b938a7aa1b8ebd631d631..53f4fe1dd25641b0c14f4cb102a7cfc1e16a5452 100644 (file)
@@ -17,4 +17,4 @@
 |w+0#00e0e07&|:|f|o@1| +0#0000000&|-+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@61
 @75
 |b+0#00e0e07&|:|f|o@1| +0#0000000&|*+0#af5f00255&|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@61
-@57|9|1|,|1| @9|3|8|%| 
+@57|9|1|,|1| @9|3|4|%| 
index 760852e29a67758411a3ea1bc24aa3b42ff875e8..898f64284c0c3731ebaafcdb1c9a02001066b4c7 100644 (file)
@@ -17,4 +17,4 @@
 |g+0#00e0e07&|:|f|o@1| +0#0000000&|.+0#af5f00255&@1|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
 |t+0#00e0e07&|:|f|o@1| +0#0000000&|.+0#af5f00255&@1|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
 |w+0#00e0e07&|:|f|o@1| +0#0000000&|.+0#af5f00255&@1|=| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@60
-@57|1|0|9|,|1| @8|4|6|%| 
+@57|1|0|9|,|1| @8|4|1|%| 
index 9b324b42d0ea2c4febf18575597c5727ee8d60ef..f0aadcbbd1250682ca4af633aec5310c35000394 100644 (file)
@@ -17,4 +17,4 @@
 @75
 |&+0#00e0e07&|l|:|a|l|e|p|h| +0#0000000&|=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
 @75
-@57|1|2|7|,|1| @8|5|4|%| 
+@57|1|2|7|,|1| @8|4|8|%| 
index 55d9050e444da83fcf843bccb1afc8eb34f3b802..cb8f53f0d36f17af5998d448d59b267135da53d4 100644 (file)
@@ -17,4 +17,4 @@
 @6|\| |v+0#00e0e07&|:|f|a|l|s|e|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@51
 |[|&+0#00e0e07&|a|r|i|,+0#0000000&| |&+0#00e0e07&|b|k|c|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@55
 |[|&+0#00e0e07&|a|r|i|,+0#0000000&| @68
-@57|1|4|5|,|1| @8|6|2|%| 
+@57|1|4|5|,|1| @8|5@1|%| 
index 48273c051ee95be0da8a695de1ba7653ea38703a..9515d524427db6c27fcdfbcf3a4b9890ace115ae 100644 (file)
@@ -17,4 +17,4 @@
 |[|f+0#00e0e07&|o@1|,+0#0000000&| |b+0#00e0e07&|a|r|;+0#0000000&| |b+0#00e0e07&|a|z|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@52
 |[|f+0#00e0e07&|o@1|,+0#0000000&| @69
 @6|\| |b+0#00e0e07&|a|r|;+0#0000000&| @62
-@57|1|6|3|,|1| @8|7|1|%| 
+@57|1|6|3|,|1| @8|6|2|%| 
index baf1f9e4fffd1930671b4aea24c71176e1a7e11e..10f79433d401b1c1514cf4d7200e3e478cd123d5 100644 (file)
@@ -17,4 +17,4 @@
 @6|\| |@+0#e000e06&|b|;+0#0000000&| @63
 @6|\| |@+0#e000e06&|c|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@56
 @75
-@57|1|8|1|,|7| @8|7|9|%| 
+@57|1|8|1|,|7| @8|7|0|%| 
index 234b3dd513d337f21e3fbcdbc41453e9e97266f2..ebaabb82efaa1b4711f283e185f153d89050ebe4 100644 (file)
@@ -15,6 +15,6 @@
 |.+0#e000002&@2| +0#0000000&@71
 |E+0#e000e06&|N|D| +0#0000000&@71
 @75
-|#+0#0000e05&| |:|f|o|r| +0#0000000&@68
+|#+0#0000e05&| |:|u|n|l|e|t| +0#0000000&@66
 @75
-@57|1|9@1|,|1| @8|8|7|%| 
+@57|1|9@1|,|1| @8|7@1|%| 
index 7a6baece811abb9eb67631eeba8b1875a6d32bde..642e30b2cc3ec9e1ab3c4ec34c3bd2e4edd72312 100644 (file)
@@ -1,20 +1,20 @@
 | +0&#ffffff0@74
-|f+0#af5f00255&|o|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
-|e+0#af5f00255&|n|d|f|o|r| +0#0000000&@68
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&@65
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|b+0#00e0e07&|a|r| +0#0000000&@61
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&@65
+@6|#+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
+@6>\+0#e000e06&| +0#0000000&|b+0#00e0e07&|a|r| +0#0000000&@63
 @75
-|f+0#af5f00255&|o|r| +0#0000000&|[|f+0#00e0e07&|o@1|,+0#0000000&| |b+0#00e0e07&|a|r|]+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@52
->e+0#af5f00255&|n|d|f|o|r| +0#0000000&@68
+|u+0#af5f00255&|n|l|e|t|!| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&@64
+|u+0#af5f00255&|n|l|e|t|!| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|b+0#00e0e07&|a|r| +0#0000000&@60
+|u+0#af5f00255&|n|l|e|t|!| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&@64
+@6|#+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
+@6|\+0#e000e06&| +0#0000000&|b+0#00e0e07&|a|r| +0#0000000&@63
 @75
-|#+0#0000e05&| |S|c|o|p|e| |d|i|c|t|i|o|n|a|r|i|e|s| +0#0000000&@54
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|$+0#e000e06&|F|O@1| +0#0000000&@64
+|u+0#af5f00255&|n|l|e|t|!| +0#0000000&|$+0#e000e06&|F|O@1| +0#0000000&@63
 @75
-|e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|e|t|(+0#e000e06&|b+0#00e0e07&|:|,+0#0000000&| |'+0#e000002&|f|o@1|'|,+0#0000000&| |4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51
-|e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|e|t|(+0#e000e06&|w+0#00e0e07&|:|,+0#0000000&| |'+0#e000002&|f|o@1|'|,+0#0000000&| |4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51
-|e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|e|t|(+0#e000e06&|t+0#00e0e07&|:|,+0#0000000&| |'+0#e000002&|f|o@1|'|,+0#0000000&| |4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51
-|e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|e|t|(+0#e000e06&|g+0#00e0e07&|:|,+0#0000000&| |'+0#e000002&|f|o@1|'|,+0#0000000&| |4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51
-|e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|e|t|(+0#e000e06&|v+0#00e0e07&|:|,+0#0000000&| |'+0#e000002&|f|o@1|'|,+0#0000000&| |4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51
-@75
-|f+0#af5f00255&|o|r| +0#0000000&|k+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|k+0#00e0e07&|e|y|s|(+0#e000e06&|b+0#00e0e07&|:|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|b+0#00e0e07&|:|[+0#0000000&|k+0#00e0e07&|]+0#0000000&| ||| |e+0#af5f00255&|n|d|f|o|r| +0#0000000&@35
-|f+0#af5f00255&|o|r| +0#0000000&|k+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|k+0#00e0e07&|e|y|s|(+0#e000e06&|w+0#00e0e07&|:|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|w+0#00e0e07&|:|[+0#0000000&|k+0#00e0e07&|]+0#0000000&| ||| |e+0#af5f00255&|n|d|f|o|r| +0#0000000&@35
-|f+0#af5f00255&|o|r| +0#0000000&|k+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|k+0#00e0e07&|e|y|s|(+0#e000e06&|t+0#00e0e07&|:|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|t+0#00e0e07&|:|[+0#0000000&|k+0#00e0e07&|]+0#0000000&| ||| |e+0#af5f00255&|n|d|f|o|r| +0#0000000&@35
-|f+0#af5f00255&|o|r| +0#0000000&|k+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|k+0#00e0e07&|e|y|s|(+0#e000e06&|g+0#00e0e07&|:|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|:|[+0#0000000&|k+0#00e0e07&|]+0#0000000&| ||| |e+0#af5f00255&|n|d|f|o|r| +0#0000000&@35
-@57|2|1|7|,|1| @8|9|5|%| 
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|l+0#00e0e07&|i|s|t|[+0#0000000&|3+0#e000002&|]+0#0000000&| @61
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|l+0#00e0e07&|i|s|t|[+0#0000000&|3+0#e000002&|:+0#0000000&|]| @60
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|d+0#00e0e07&|i|c|t|[+0#0000000&|'+0#e000002&|t|w|o|'|]+0#0000000&| @57
+@57|2|1|7|,|7| @8|8|4|%| 
index 851fa0792f39db1b2679fbea64be6735133f7563..638d2b6082450354854bc97e254d9429b9138f6a 100644 (file)
@@ -1,20 +1,20 @@
-|f+0#af5f00255#ffffff0|o|r| +0#0000000&|k+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|k+0#00e0e07&|e|y|s|(+0#e000e06&|g+0#00e0e07&|:|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|:|[+0#0000000&|k+0#00e0e07&|]+0#0000000&| ||| |e+0#af5f00255&|n|d|f|o|r| +0#0000000&@35
-|f+0#af5f00255&|o|r| +0#0000000&|k+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|k+0#00e0e07&|e|y|s|(+0#e000e06&|v+0#00e0e07&|:|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|v+0#00e0e07&|:|[+0#0000000&|k+0#00e0e07&|]+0#0000000&| ||| |e+0#af5f00255&|n|d|f|o|r| +0#0000000&@35
+|u+0#af5f00255#ffffff0|n|l|e|t| +0#0000000&|d+0#00e0e07&|i|c|t|[+0#0000000&|'+0#e000002&|t|w|o|'|]+0#0000000&| @57
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|d+0#00e0e07&|i|c|t|.+0#0000000&|t+0#00e0e07&|w|o| +0#0000000&@60
 @75
-|#+0#0000e05&| |N|e|o|v|i|m|-|s|p|e|c|i|f|i|c| |v|a|r|i|a|b|l|e|s| |(|n|o|t| |h|i|g|h|l|i|g|h|t|e|d| |b|y| |d|e|f|a|u|l|t|)| +0#0000000&@18
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@55
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|#+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@54
+>u+0#af5f00255&|n|l|e|t| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@52
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|b+0#00e0e07&|a|r| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@51
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|b+0#00e0e07&|a|r| +0#0000000&|#+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@50
+|u+0#af5f00255&|n|l|e|t| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|b+0#00e0e07&|a|r| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@48
 @75
->e+0#af5f00255&|c|h|o| +0#0000000&|v+0#00e0e07&|:|l+0#0000000&|u|a| |v+0#00e0e07&|:|m+0#0000000&|s|g|p|a|c|k|_|t|y|p|e|s| |v+0#00e0e07&|:|r+0#0000000&|e|l|n|u|m| |v+0#00e0e07&|:|s+0#0000000&|t|d|e|r@1| |v+0#00e0e07&|:|t+0#0000000&|e|r|m|r|e|q|u|e|s|t| |v+0#00e0e07&|:|v+0#0000000&|i|r|t|n|u|m| @6
+|#+0#0000e05&| |:|f|o|r| +0#0000000&@68
 @75
-|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|c+0#0000000&|h|a|n@1|e|l| |&+0#00e0e07&|i+0#0000000&|n|c@1|o|m@1|a|n|d| |&+0#00e0e07&|m+0#0000000&|o|u|s|e|s|c|r|o|l@1| |&+0#00e0e07&|p+0#0000000&|u|m|b|l|e|n|d| |&+0#00e0e07&|r+0#0000000&|e|d|r|a|w|d|e|b|u|g| |&+0#00e0e07&|s+0#0000000&|c|r|o|l@1|b|a|c|k| @1
-|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t+0#0000000&|e|r|m|s|y|n|c| |&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
-|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| |&+0#00e0e07&|w+0#0000000&|i|n|h|i|g|h|l|i|g|h|t| @46
+|f+0#af5f00255&|o|r| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@59
+|e+0#af5f00255&|n|d|f|o|r| +0#0000000&@68
 @75
-|~+0#4040ff13&| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-| +0#0000000&@56|2|3|5|,|1| @8|B|o|t| 
+|f+0#af5f00255&|o|r| +0#0000000&|[|f+0#00e0e07&|o@1|,+0#0000000&| |b+0#00e0e07&|a|r|]+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@52
+|e+0#af5f00255&|n|d|f|o|r| +0#0000000&@68
+@75
+|#+0#0000e05&| |S|c|o|p|e| |d|i|c|t|i|o|n|a|r|i|e|s| +0#0000000&@54
+@57|2|3|5|,|1| @8|9|1|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_variables_14.dump b/runtime/syntax/testdir/dumps/vim9_variables_14.dump
new file mode 100644 (file)
index 0000000..afe83a8
--- /dev/null
@@ -0,0 +1,20 @@
+|#+0#0000e05#ffffff0| |S|c|o|p|e| |d|i|c|t|i|o|n|a|r|i|e|s| +0#0000000&@54
+@75
+|e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|e|t|(+0#e000e06&|b+0#00e0e07&|:|,+0#0000000&| |'+0#e000002&|f|o@1|'|,+0#0000000&| |4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51
+|e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|e|t|(+0#e000e06&|w+0#00e0e07&|:|,+0#0000000&| |'+0#e000002&|f|o@1|'|,+0#0000000&| |4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51
+|e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|e|t|(+0#e000e06&|t+0#00e0e07&|:|,+0#0000000&| |'+0#e000002&|f|o@1|'|,+0#0000000&| |4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51
+>e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|e|t|(+0#e000e06&|g+0#00e0e07&|:|,+0#0000000&| |'+0#e000002&|f|o@1|'|,+0#0000000&| |4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51
+|e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|e|t|(+0#e000e06&|v+0#00e0e07&|:|,+0#0000000&| |'+0#e000002&|f|o@1|'|,+0#0000000&| |4+0#e000002&|2|)+0#e000e06&| +0#0000000&@51
+@75
+|f+0#af5f00255&|o|r| +0#0000000&|k+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|k+0#00e0e07&|e|y|s|(+0#e000e06&|b+0#00e0e07&|:|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|b+0#00e0e07&|:|[+0#0000000&|k+0#00e0e07&|]+0#0000000&| ||| |e+0#af5f00255&|n|d|f|o|r| +0#0000000&@35
+|f+0#af5f00255&|o|r| +0#0000000&|k+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|k+0#00e0e07&|e|y|s|(+0#e000e06&|w+0#00e0e07&|:|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|w+0#00e0e07&|:|[+0#0000000&|k+0#00e0e07&|]+0#0000000&| ||| |e+0#af5f00255&|n|d|f|o|r| +0#0000000&@35
+|f+0#af5f00255&|o|r| +0#0000000&|k+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|k+0#00e0e07&|e|y|s|(+0#e000e06&|t+0#00e0e07&|:|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|t+0#00e0e07&|:|[+0#0000000&|k+0#00e0e07&|]+0#0000000&| ||| |e+0#af5f00255&|n|d|f|o|r| +0#0000000&@35
+|f+0#af5f00255&|o|r| +0#0000000&|k+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|k+0#00e0e07&|e|y|s|(+0#e000e06&|g+0#00e0e07&|:|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|g+0#00e0e07&|:|[+0#0000000&|k+0#00e0e07&|]+0#0000000&| ||| |e+0#af5f00255&|n|d|f|o|r| +0#0000000&@35
+|f+0#af5f00255&|o|r| +0#0000000&|k+0#00e0e07&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|k+0#00e0e07&|e|y|s|(+0#e000e06&|v+0#00e0e07&|:|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|v+0#00e0e07&|:|[+0#0000000&|k+0#00e0e07&|]+0#0000000&| ||| |e+0#af5f00255&|n|d|f|o|r| +0#0000000&@35
+@75
+|#+0#0000e05&| |N|e|o|v|i|m|-|s|p|e|c|i|f|i|c| |v|a|r|i|a|b|l|e|s| |(|n|o|t| |h|i|g|h|l|i|g|h|t|e|d| |b|y| |d|e|f|a|u|l|t|)| +0#0000000&@18
+@75
+|e+0#af5f00255&|c|h|o| +0#0000000&|v+0#00e0e07&|:|l+0#0000000&|u|a| |v+0#00e0e07&|:|m+0#0000000&|s|g|p|a|c|k|_|t|y|p|e|s| |v+0#00e0e07&|:|r+0#0000000&|e|l|n|u|m| |v+0#00e0e07&|:|s+0#0000000&|t|d|e|r@1| |v+0#00e0e07&|:|t+0#0000000&|e|r|m|r|e|q|u|e|s|t| |v+0#00e0e07&|:|v+0#0000000&|i|r|t|n|u|m| @6
+@75
+|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|c+0#0000000&|h|a|n@1|e|l| |&+0#00e0e07&|i+0#0000000&|n|c@1|o|m@1|a|n|d| |&+0#00e0e07&|m+0#0000000&|o|u|s|e|s|c|r|o|l@1| |&+0#00e0e07&|p+0#0000000&|u|m|b|l|e|n|d| |&+0#00e0e07&|r+0#0000000&|e|d|r|a|w|d|e|b|u|g| |&+0#00e0e07&|s+0#0000000&|c|r|o|l@1|b|a|c|k| @1
+@57|2|5|3|,|1| @8|9|8|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_variables_15.dump b/runtime/syntax/testdir/dumps/vim9_variables_15.dump
new file mode 100644 (file)
index 0000000..095bdb0
--- /dev/null
@@ -0,0 +1,20 @@
+|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|&+0#00e0e07&|c+0#0000000&|h|a|n@1|e|l| |&+0#00e0e07&|i+0#0000000&|n|c@1|o|m@1|a|n|d| |&+0#00e0e07&|m+0#0000000&|o|u|s|e|s|c|r|o|l@1| |&+0#00e0e07&|p+0#0000000&|u|m|b|l|e|n|d| |&+0#00e0e07&|r+0#0000000&|e|d|r|a|w|d|e|b|u|g| |&+0#00e0e07&|s+0#0000000&|c|r|o|l@1|b|a|c|k| @1
+|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|s+0#0000000&|h|a|d|a| |&+0#00e0e07&|s+0#0000000&|h|a|d|a|f|i|l|e| |&+0#00e0e07&|s+0#0000000&|t|a|t|u|s|c|o|l|u|m|n| |&+0#00e0e07&|t+0#0000000&|e|r|m|p|a|s|t|e|f|i|l|t|e|r| |&+0#00e0e07&|t+0#0000000&|e|r|m|s|y|n|c| |&+0#00e0e07&|w+0#0000000&|i|n|b|a|r| @3
+|e+0#af5f00255&|c|h|o| +0#0000000&|&+0#00e0e07&|w+0#0000000&|i|n|b|l|e|n|d| |&+0#00e0e07&|w+0#0000000&|i|n|h|i|g|h|l|i|g|h|t| @46
+> @74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|2|6|9|,|0|-|1| @6|B|o|t| 
index 8347bd7eee9d9db7d6698915ebca54808b67c05a..7344db8ce1a0b093fa3bcd5e280863692c288b90 100644 (file)
@@ -208,6 +208,35 @@ foo =<< eval trim END
 ...
 END
 
+# :unlet
+
+unlet foo
+unlet foo bar
+unlet foo
+      #\ comment
+      \ bar
+
+unlet! foo
+unlet! foo bar
+unlet! foo
+      #\ comment
+      \ bar
+
+unlet $FOO
+unlet! $FOO
+
+unlet list[3]
+unlet list[3:]
+unlet dict['two']
+unlet dict.two
+
+unlet foo # comment
+unlet foo #\ comment
+unlet foo | echo "Foo"
+unlet foo bar # comment
+unlet foo bar #\ comment
+unlet foo bar | echo "Foo"
+
 # :for
 
 for foo in expr
index 03f466c46e31bceb31b545c5972085500e3f0b53..22f563fafd129554e586af973e2581ddcc94ad5d 100644 (file)
@@ -2,7 +2,7 @@
 " Language:       Vim script
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkearns@gmail.com>
-" Last Change:    2026 Jan 11
+" Last Change:    2026 Jan 30
 " Former Maintainer: Charles E. Campbell
 
 " DO NOT CHANGE DIRECTLY.
@@ -1224,11 +1224,11 @@ syn region      vimLetVarSubscript contained
       \ skipwhite nextgroup=vimLetVarSubscript,vimLetHeredoc
       \ contains=@vimExprList
 
-VimL syn keyword       vimUnlet                unl[et] skipwhite nextgroup=vimUnletBang,vimUnletVars
+syn keyword    vimUnlet                unl[et] skipwhite nextgroup=vimUnletBang,vimUnletVars
 syn match      vimUnletBang    contained       "\a\@1<=!"      skipwhite nextgroup=vimUnletVars
 syn region     vimUnletVars    contained
-      \ start="$\I\|\h" skip=+\n\s*\%(\\\|"\\ \)\|^\s*"\\ + end="$" end="\ze[|"]"
-      \ nextgroup=vimCmdSep,vimComment
+      \ start="$\I\|\h" skip=+\n\s*\%(\\\|["#]\\ \)\|^\s*["#]\\ + end="$" end=+\ze\s*[|"#]+
+      \ skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment
       \ contains=@vimContinue,vimEnvvar,vimVar,vimVimVar
 
 " TODO: type error after register or environment variables (strings)