]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(vim): Update syntax and ftplugin files (#13924)
authordkearns <dougkearns@gmail.com>
Sun, 28 Jan 2024 17:54:08 +0000 (04:54 +1100)
committerGitHub <noreply@github.com>
Sun, 28 Jan 2024 17:54:08 +0000 (18:54 +0100)
Improve matching of line-continuations and interspersed comments.

These are now also matched in multiline syntax command patterns,
dictionary literals, and parenthesised expressions and argument lists.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
18 files changed:
runtime/ftplugin/vim.vim
runtime/syntax/testdir/dumps/vim_line_continuation_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_line_continuation_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_line_continuation_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_line_continuation_99.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_syntax_00.dump
runtime/syntax/testdir/dumps/vim_syntax_01.dump
runtime/syntax/testdir/dumps/vim_syntax_02.dump
runtime/syntax/testdir/dumps/vim_syntax_03.dump
runtime/syntax/testdir/dumps/vim_syntax_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_syntax_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_syntax_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_syntax_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_syntax_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_syntax_99.dump
runtime/syntax/testdir/input/vim_line_continuation.vim [new file with mode: 0644]
runtime/syntax/testdir/input/vim_syntax.vim
runtime/syntax/vim.vim

index 1d340e475ba463a8dbc968a6ba1dba66168a0107..575af7405c453857127794f8e3c1f7e33d3fd751 100644 (file)
@@ -58,7 +58,7 @@ endif
 
 " Set 'comments' to format dashed lists in comments, both in Vim9 and legacy
 " script.
-setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#,sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
+setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#\\\ ,:#,sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"\\\ ,:\"
 
 " set 'include' to recognize import commands
 setlocal include=\\v^\\s*import\\s*(autoload)?
diff --git a/runtime/syntax/testdir/dumps/vim_line_continuation_00.dump b/runtime/syntax/testdir/dumps/vim_line_continuation_00.dump
new file mode 100644 (file)
index 0000000..7733c0b
--- /dev/null
@@ -0,0 +1,20 @@
+>"+0#0000e05#ffffff0| |V|i|m| |l|i|n|e| |c|o|n|t|i|n|u|a|t|i|o|n|s| |w|i|t|h| |i|n|t|e|r|s|p|e|r|s|e|d| |c|o|m@1|e|n|t|s| +0#0000000&@23
+@75
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&| +0#0000000&@61
+@6|"+0#0000e05&|\| |p|a|r|a|m| |a| +0#0000000&@58
+@6|\+0#e000e06&| +0#0000000&|a+0#00e0e07&|,+0#0000000&| @64
+@6|"+0#0000e05&|\| |p|a|r|a|m| |b| +0#0000000&@58
+@6|\+0#e000e06&| +0#0000000&|b+0#00e0e07&|,+0#0000000&| @64
+@6|"+0#0000e05&|\| |p|a|r|a|m| |c| +0#0000000&@58
+@6|\+0#e000e06&| +0#0000000&|c+0#00e0e07&| +0#0000000&@65
+@6|\+0#e000e06&|)| +0#0000000&@66
+@2|e+0#af5f00255&|c|h|o|m|s|g| +0#0000000&@65
+| +0#0000e05&@7|"|\| |s|t|a|r|t| |s|t|r|i|n|g| +0#0000000&@51
+@8|\+0#e000e06&| +0#0000000&|$|"| @62
+| +0#0000e05&@7|"|\| |p|r|i|n|t| |a| +0#0000000&@56
+@8|\+0#e000e06&| +0#0000000&|a+0#af5f00255&| +0#0000000&|=+0#af5f00255&| +0#0000000&|{+0#e000e06&|a+0#00e0e07&|:|a|}+0#e000e06&|,+0#0000000&| @54
+| +0#0000e05&@7|"|\| |p|r|i|n|t| |b| +0#0000000&@56
+@8|\+0#e000e06&| +0#0000000&|b+0#af5f00255&| +0#0000000&|=+0#af5f00255&| +0#0000000&|{+0#e000e06&|a+0#00e0e07&|:|b|}+0#e000e06&|,+0#0000000&| @54
+| +0#0000e05&@7|"|\| |p|r|i|n|t| |c| +0#0000000&@56
+@8|\+0#e000e06&| +0#0000000&|c+0#af5f00255&| +0#0000000&|=+0#af5f00255&| +0#0000000&|{+0#e000e06&|a+0#00e0e07&|:|c|}+0#e000e06&| +0#0000000&@55
+|"|i|n|p|u|t|/|v|i|m|_|l|i|n|e|_|c|o|n|t|i|n|u|a|t|i|o|n|.|v|i|m|"| |4|9|L|,| |6|2|6|B| @13|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/vim_line_continuation_01.dump b/runtime/syntax/testdir/dumps/vim_line_continuation_01.dump
new file mode 100644 (file)
index 0000000..a2e4820
--- /dev/null
@@ -0,0 +1,20 @@
+| +0#0000e05#ffffff0@7|"|\| |p|r|i|n|t| |a| +0#0000000&@56
+@8|\+0#e000e06&| +0#0000000&|a+0#af5f00255&| +0#0000000&|=+0#af5f00255&| +0#0000000&|{+0#e000e06&|a+0#00e0e07&|:|a|}+0#e000e06&|,+0#0000000&| @54
+| +0#0000e05&@7|"|\| |p|r|i|n|t| |b| +0#0000000&@56
+@8|\+0#e000e06&| +0#0000000&|b+0#af5f00255&| +0#0000000&|=+0#af5f00255&| +0#0000000&|{+0#e000e06&|a+0#00e0e07&|:|b|}+0#e000e06&|,+0#0000000&| @54
+| +0#0000e05&@7|"|\| |p|r|i|n|t| |c| +0#0000000&@56
+@8>\+0#e000e06&| +0#0000000&|c+0#af5f00255&| +0#0000000&|=+0#af5f00255&| +0#0000000&|{+0#e000e06&|a+0#00e0e07&|:|c|}+0#e000e06&| +0#0000000&@55
+| +0#0000e05&@7|"|\| |e|n|d| |s|t|r|i|n|g| +0#0000000&@53
+@8|\+0#e000e06&|"+0#0000000&| @64
+|e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
+@75
+|c+0#af5f00255&|a|l@1| +0#0000000&|F|o@1|(+0#e000e06&| +0#0000000&@65
+@6|"+0#0000e05&|\| |a|r|g| |1| +0#0000000&@60
+@6|\+0#e000e06&| +0#0000000&|1+0#e000002&@1|,+0#0000000&| @63
+@6|"+0#0000e05&|\| |a|r|g| |2| +0#0000000&@60
+@6|\+0#e000e06&| +0#0000000&|2+0#e000002&@1|,+0#0000000&| @63
+@6|"+0#0000e05&|\| |a|r|g| |3| +0#0000000&@60
+@6|\+0#e000e06&| +0#0000000&|3+0#e000002&@1| +0#0000000&@64
+@6|\+0#e000e06&|)| +0#0000000&@66
+@75
+@57|1|9|,|2|-|9| @7|4|3|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_line_continuation_02.dump b/runtime/syntax/testdir/dumps/vim_line_continuation_02.dump
new file mode 100644 (file)
index 0000000..c4ceded
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|l+0#af5f00255&|e|t| +0#0000000&|d+0#00e0e07&|i|c|t| +0#0000000&|=+0#af5f00255&| +0#0000000&|#+0#e000e06&|{| +0#0000000&@61
+@6|"+0#0000e05&|\| |p|a|i|r| |1| +0#0000000&@59
+@6|\+0#e000e06&| +0#0000000&|a+0#00e0e07&|:+0#0000000&| |1+0#e000002&|,+0#0000000&| @61
+@6|"+0#0000e05&|\| |p|a|i|r| |2| +0#0000000&@59
+@6>\+0#e000e06&| +0#0000000&|b+0#00e0e07&|:+0#0000000&| |2+0#e000002&|,+0#0000000&| @61
+@6|"+0#0000e05&|\| |p|a|i|r| |3| +0#0000000&@59
+@6|\+0#e000e06&| +0#0000000&|c+0#00e0e07&|:+0#0000000&| |3+0#e000002&| +0#0000000&@62
+@6|\+0#e000e06&|}| +0#0000000&@66
+@75
+|l+0#af5f00255&|e|t| +0#0000000&|a+0#00e0e07&|r@1|a|y| +0#0000000&|=+0#af5f00255&| +0#0000000&|[| @61
+| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |1| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|1+0#e000002&|,+0#0000000&| @64
+| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |2| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|2+0#e000002&|,+0#0000000&| @64
+| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |3| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|3+0#e000002&| +0#0000000&@65
+@6|\+0#e000e06&|]+0#0000000&| @66
+|~+0#4040ff13&| @73
+| +0#0000000&@56|3|7|,|7| @9|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/vim_line_continuation_99.dump b/runtime/syntax/testdir/dumps/vim_line_continuation_99.dump
new file mode 100644 (file)
index 0000000..05ea464
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@5|\+0#e000e06&|)| +0#0000000&@66
+@75
+|l+0#af5f00255&|e|t| +0#0000000&|d+0#00e0e07&|i|c|t| +0#0000000&|=+0#af5f00255&| +0#0000000&|#+0#e000e06&|{| +0#0000000&@61
+@6|"+0#0000e05&|\| |p|a|i|r| |1| +0#0000000&@59
+@6|\+0#e000e06&| +0#0000000&|a+0#00e0e07&|:+0#0000000&| |1+0#e000002&|,+0#0000000&| @61
+@6|"+0#0000e05&|\| |p|a|i|r| |2| +0#0000000&@59
+@6|\+0#e000e06&| +0#0000000&|b+0#00e0e07&|:+0#0000000&| |2+0#e000002&|,+0#0000000&| @61
+@6|"+0#0000e05&|\| |p|a|i|r| |3| +0#0000000&@59
+@6|\+0#e000e06&| +0#0000000&|c+0#00e0e07&|:+0#0000000&| |3+0#e000002&| +0#0000000&@62
+@6|\+0#e000e06&|}| +0#0000000&@66
+@75
+|l+0#af5f00255&|e|t| +0#0000000&|a+0#00e0e07&|r@1|a|y| +0#0000000&|=+0#af5f00255&| +0#0000000&|[| @61
+| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |1| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|1+0#e000002&|,+0#0000000&| @64
+| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |2| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|2+0#e000002&|,+0#0000000&| @64
+| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |3| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|3+0#e000002&| +0#0000000&@65
+@6>\+0#e000e06&|]+0#0000000&| @66
+@57|4|9|,|7| @9|B|o|t| 
index db529678e5fae5dcf240708a2683bc5fb35e8e48..21dcc8893c69e6690b95b4c83789d5e246a4446d 100644 (file)
@@ -1,20 +1,20 @@
->"+0#0000e05#ffffff0| |V|i|m| |:|s|y|n|t|a|x| |h|i|g|h|l|i|g|h|t|i|n|g| +0#0000000&@48
+>"+0#0000e05#ffffff0| |V|i|m| |:|s|y|n|t|a|x| |c|o|m@1|a|n|d| +0#0000000&@53
+@75
+|s+0#af5f00255&|y|n| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t+0#00e0003&|e|s|t|M|a|t|c|h| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&|"+0#0000e05&| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@20
+|"+0#0000e05&| +0#0000000&|N+0#e000e06&|O|T|E|:| +0#0000e05&|c|o|m@1|e|n|t|s| |n|o|t| |c|u|r@1|e|n|t|l|y| |s|u|p@1|o|r|t|e|d| +0#0000000&@34
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|K|e|y|w|o|r|d| +0#0000000&|k|e|y|w|o|r|d| |c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&|"| |t|a|i|l| |c|o|m@1|e|n|t| @18
+|s+0#af5f00255&|y|n| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&|t+0#00e0003&|e|s|t|R|e|g|i|o|n| +0#0000000&|s+0#00e0003&|t|a|r|t|=|"+0#e000002&|s|t|a|r|t|-|p|a|t@1|e|r|n|"| +0#0000000&|s+0#00e0003&|k|i|p|=|"+0#e000002&|s|k|i|p|-|p|a|t@1|e|r|n|"| +0#0000000&|e+0#00e0003&|n|d|=|"+0#e000002&|e|n|d|-|p|a
+|t@1|e|r|n|"| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&|"| |t|a|i|l| |c|o|m@1|e|n|t| @43
+@75
+|"+0#0000e05&| |M|u|l|t|i|l|i|n|e| |c|o|m@1|a|n|d|s| +0#0000000&@54
 @75
 |s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|K|e|y|w|o|r|d| +0#0000000&@51
+@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
+@6|"+0#0000e05&|\| |c|o|n|c|e|a|l| |o|p|t|i|o|n| +0#0000000&@51
 @6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
+@6|"+0#0000e05&|\| |c@1|h|a|r| |o|p|t|i|o|n| +0#0000000&@53
 @6|\+0#e000e06&| +0#0000000&|c+0#e000e06&@1|h|a|r|=|&+0#e000002&| +0#0000000&@59
+@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d| |o|p|t|i|o|n| +0#0000000&@49
 @6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&@57
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|r| @41
-@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000000&|e|s|t|N|e|x|t|,|@|t|e|s|t|C|l|u|s|t|e|r| @35
-@6|\+0#e000e06&| +0#0000000&|t+0#e000e06&|r|a|n|s|p|a|r|e|n|t| +0#0000000&@55
-@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
-@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|e|m|p|t|y| +0#0000000&@57
-@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
-@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|1| @58
-@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|2| @58
-@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|3| @58
-@75
-|s+0#af5f00255&|y|n| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t+0#00e0003&|e|s|t|M|a|t|c|h| +0#0000000&@55
-@6|\+0#e000e06&| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@57
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
-|"|i|n|p|u|t|/|v|i|m|_|s|y|n|t|a|x|.|v|i|m|"| |7|5|L|,| |1|5|0|2|B| @23|1|,|1| @10|T|o|p| 
+@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d|i|n| |o|p|t|i|o|n| +0#0000000&@47
+|"|i|n|p|u|t|/|v|i|m|_|s|y|n|t|a|x|.|v|i|m|"| |1|6|4|L|,| |3|7|2|9|B| @22|1|,|1| @10|T|o|p| 
index e09801dff058196012dc2c79ae8ffe813d273aa7..800e4a709f12ba5fe1b0f042a27e1ddc185e83b9 100644 (file)
@@ -1,20 +1,20 @@
-| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|2| @58
-@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|3| @58
-@75
-|s+0#af5f00255&|y|n| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t+0#00e0003&|e|s|t|M|a|t|c|h| +0#0000000&@55
-@6|\+0#e000e06&| +0#0000000&|"+0#e000002&|p|a|t@1|e|r|n|"| +0#0000000&@57
-@6>\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
+| +0&#ffffff0@5|"+0#0000e05&|\| |c@1|h|a|r| |o|p|t|i|o|n| +0#0000000&@53
 @6|\+0#e000e06&| +0#0000000&|c+0#e000e06&@1|h|a|r|=|&+0#e000002&| +0#0000000&@59
+@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d| |o|p|t|i|o|n| +0#0000000&@49
 @6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&@57
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|r| @41
-@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000000&|e|s|t|N|e|x|t|,|@|t|e|s|t|C|l|u|s|t|e|r| @35
+@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d|i|n| |o|p|t|i|o|n| +0#0000000&@47
+@6>\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|r| @41
+@6|"+0#0000e05&|\| |n|e|x|t|g|r|o|u|p| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000000&|e|s|t|N|e|x|t|0|,|@|t|e|s|t|C|l|u|s|t|e|r| @34
+@6|"+0#0000e05&|\| |t|r|a|n|s|p|a|r|e|n|t| |o|p|t|i|o|n| +0#0000000&@47
 @6|\+0#e000e06&| +0#0000000&|t+0#e000e06&|r|a|n|s|p|a|r|e|n|t| +0#0000000&@55
+@6|"+0#0000e05&|\| |s|k|i|p|w|h|i|t|e| |o|p|t|i|o|n| +0#0000000&@49
 @6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
+@6|"+0#0000e05&|\| |s|k|i|p|e|m|p|t|y| |o|p|t|i|o|n| +0#0000000&@49
 @6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|e|m|p|t|y| +0#0000000&@57
+@6|"+0#0000e05&|\| |s|k|i|p|n|l| |o|p|t|i|o|n| +0#0000000&@52
 @6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2| @28
-@6|\+0#e000e06&| +0#0000000&|f+0#e000e06&|o|l|d| +0#0000000&@62
-@6|\+0#e000e06&| +0#0000000&|d+0#e000e06&|i|s|p|l|a|y| +0#0000000&@59
-@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|t|e|n|d| +0#0000000&@60
-@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|c|l|u|d|e|n|l| +0#0000000&@57
-@57|1|9|,|7| @9|2|3|%| 
+@6|"+0#0000e05&|\| |K|E|Y|W|O|R|D|S| |L|I|S|T| +0#0000000&@52
+@6|"+0#0000e05&|\| |k|e|y|w|o|r|d| |1| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|1| @58
+@57|1|9|,|7| @10|8|%| 
index 063a33b7671f71404a16eff7687b59dbb00fc0fc..1caffc1e097a803e1587b43f4e1113d9c66f4719 100644 (file)
@@ -1,20 +1,20 @@
-| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|c|l|u|d|e|n|l| +0#0000000&@57
-@6|\+0#e000e06&| +0#0000000&|k+0#e000e06&|e@1|p|e|n|d| +0#0000000&@59
-@75
-|s+0#af5f00255&|y|n| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&|t+0#00e0003&|e|s|t|R|e|g|i|o|n| +0#0000000&@53
-@6|\+0#e000e06&| +0#0000000&|s+0#00e0003&|t|a|r|t|=+0#0000000&|"+0#e000002&|s|t|a|r|t|-|p|a|t@1|e|r|n|"| +0#0000000&@45
-@6>\+0#e000e06&| +0#0000000&|e+0#00e0003&|n|d|=+0#0000000&|"+0#e000002&|e|n|d|-|p|a|t@1|e|r|n|"| +0#0000000&@49
-@6|\+0#e000e06&| +0#0000000&|s+0#00e0003&|k|i|p|=+0#0000000&|"+0#e000002&|s|k|i|p|-|p|a|t@1|e|r|n|"| +0#0000000&@47
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&@57
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&@1|h|a|r|=|&+0#e000002&| +0#0000000&@59
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&@57
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|r| @41
-@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000000&|e|s|t|N|e|x|t|,|@|t|e|s|t|C|l|u|s|t|e|r| @35
-@6|\+0#e000e06&| +0#0000000&|t+0#e000e06&|r|a|n|s|p|a|r|e|n|t| +0#0000000&@55
-@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
-@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|e|m|p|t|y| +0#0000000&@57
-@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2| @28
-@6|\+0#e000e06&| +0#0000000&|o+0#e000e06&|n|e|l|i|n|e| +0#0000000&@59
-@57|3|7|,|7| @9|5@1|%| 
+| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|1| @58
+@6|"+0#0000e05&|\| |k|e|y|w|o|r|d| |2| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|2| @58
+@6|"+0#0000e05&|\| |k|e|y|w|o|r|d| |3| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|3| @58
+> @74
+|s+0#af5f00255&|y|n| +0#0000000&|m+0#00e0003&|a|t|c|h| +0#0000000&|t+0#00e0003&|e|s|t|M|a|t|c|h| +0#0000000&@55
+@6|"+0#0000e05&|\| |M|A|T|C|H| |P|A|T@1|E|R|N| +0#0000000&@52
+@6|"+0#0000e05&|\| |p|a|t@1|e|r|n| |s|t|a|r|t| +0#0000000&@52
+@6|\+0#e000e06&| +0#0000000&|/+0#e000002&| +0#0000000&@65
+| +0#e000002&@5|"+0#0000e05&|\| |p|a|r|t| |1| |d|e|s|c|r|i|p|t|i|o|n| +0#0000000&@47
+| +0#e000002&@5|\+0#e000e06&|p+0#e000002&|a|t|1|a| |.|*| |p|a|t|1|b| +0#0000000&@53
+| +0#e000002&@5|"+0#0000e05&|\| |p|a|r|t| |2| |d|e|s|c|r|i|p|t|i|o|n| +0#0000000&@47
+| +0#e000002&@5|\+0#e000e06&|p+0#e000002&|a|t|2|a| |.|*| |p|a|t|2|b| +0#0000000&@53
+| +0#e000002&@5|"+0#0000e05&|\| |p|a|r|t| |3| |d|e|s|c|r|i|p|t|i|o|n| +0#0000000&@47
+| +0#e000002&@5|\+0#e000e06&|p+0#e000002&|a|t|3|a| |.|*| |p|a|t|3|b| +0#0000000&@53
+| +0#e000002&@5|"+0#0000e05&|\| |p|a|t@1|e|r|n| |e|n|d| +0#0000000&@54
+| +0#e000002&@5|\+0#e000e06&|/+0#e000002&| +0#0000000&@66
+@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
+@57|3|7|,|0|-|1| @7|2|1|%| 
index b3a23ddc72ba2968db827b0b43cc26e59ca347b2..31ab5274a1ccc7bb3ea5b7238487aa9f03cd03cd 100644 (file)
@@ -1,20 +1,20 @@
-| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|o+0#e000e06&|n|e|l|i|n|e| +0#0000000&@59
-@6|\+0#e000e06&| +0#0000000&|f+0#e000e06&|o|l|d| +0#0000000&@62
-@6|\+0#e000e06&| +0#0000000&|d+0#e000e06&|i|s|p|l|a|y| +0#0000000&@59
-@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|t|e|n|d| +0#0000000&@60
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l|e|n|d|s| +0#0000000&@55
-@6>\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|c|l|u|d|e|n|l| +0#0000000&@57
-@6|\+0#e000e06&| +0#0000000&|k+0#e000e06&|e@1|p|e|n|d| +0#0000000&@59
-@75
-|s+0#af5f00255&|y|n| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t+0#00e0003&|e|s|t|C|l|u|s|t|e|r| +0#0000000&@51
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2|,|t|e|s|t|C|o|n|t|a|i|n|e|d|3| @13
-@75
-|s+0#af5f00255&|y|n| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t+0#00e0003&|e|s|t|C|l|u|s|t|e|r| +0#0000000&@51
-@6|\+0#e000e06&| +0#0000000&|a+0#e000e06&|d@1|=|t+0#0000000&|e|s|t|A|d@1| @55
-@6|\+0#e000e06&| +0#0000000&|r+0#e000e06&|e|m|o|v|e|=|t+0#0000000&|e|s|t|R|e|m|o|v|e| @49
-@75
-@75
-|"+0#0000e05&| |c|h|e|c|k| |m|u|l|t|i|l|i|n|e| |g|r|o|u|p| |l|i|s|t| +0#0000000&@46
-|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|K|e|y|w|o|r|d| +0#0000000&@51
-@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=| +0#0000000&@56
-@57|5@1|,|7| @9|8|7|%| 
+| +0&#ffffff0@5|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
+@6|"+0#0000e05&|\| |c|o|n|c|e|a|l| |o|p|t|i|o|n| +0#0000000&@51
+@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
+@6|"+0#0000e05&|\| |c@1|h|a|r| |o|p|t|i|o|n| +0#0000000&@53
+@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&@1|h|a|r|=|&+0#e000002&| +0#0000000&@59
+@6>"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&@57
+@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d|i|n| |o|p|t|i|o|n| +0#0000000&@47
+@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|r| @41
+@6|"+0#0000e05&|\| |n|e|x|t|g|r|o|u|p| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000000&|e|s|t|N|e|x|t|0|,|@|t|e|s|t|C|l|u|s|t|e|r| @34
+@6|"+0#0000e05&|\| |t|r|a|n|s|p|a|r|e|n|t| |o|p|t|i|o|n| +0#0000000&@47
+@6|\+0#e000e06&| +0#0000000&|t+0#e000e06&|r|a|n|s|p|a|r|e|n|t| +0#0000000&@55
+@6|"+0#0000e05&|\| |s|k|i|p|w|h|i|t|e| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
+@6|"+0#0000e05&|\| |s|k|i|p|e|m|p|t|y| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|e|m|p|t|y| +0#0000000&@57
+@6|"+0#0000e05&|\| |s|k|i|p|n|l| |o|p|t|i|o|n| +0#0000000&@52
+@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
+@57|5@1|,|7| @9|3@1|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_syntax_04.dump b/runtime/syntax/testdir/dumps/vim_syntax_04.dump
new file mode 100644 (file)
index 0000000..d5d9f40
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
+@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|s| |o|p|t|i|o|n| +0#0000000&@50
+@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2| @28
+@6|"+0#0000e05&|\| |f|o|l|d| |o|p|t|i|o|n| +0#0000000&@54
+@6|\+0#e000e06&| +0#0000000&|f+0#e000e06&|o|l|d| +0#0000000&@62
+@6>"+0#0000e05&|\| |d|i|s|p|l|a|y| |o|p|t|i|o|n| +0#0000000&@51
+@6|\+0#e000e06&| +0#0000000&|d+0#e000e06&|i|s|p|l|a|y| +0#0000000&@59
+@6|"+0#0000e05&|\| |e|x|t|e|n|d| |o|p|t|i|o|n| +0#0000000&@52
+@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|t|e|n|d| +0#0000000&@60
+@6|"+0#0000e05&|\| |e|x|c|l|u|d|e|n|l| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|c|l|u|d|e|n|l| +0#0000000&@57
+@6|"+0#0000e05&|\| |k|e@1|p|e|n|d| |o|p|t|i|o|n| +0#0000000&@51
+@6|\+0#e000e06&| +0#0000000&|k+0#e000e06&|e@1|p|e|n|d| +0#0000000&@59
+@75
+|s+0#af5f00255&|y|n| +0#0000000&|r+0#00e0003&|e|g|i|o|n| +0#0000000&|t+0#00e0003&|e|s|t|R|e|g|i|o|n| +0#0000000&@53
+@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
+@6|"+0#0000e05&|\| |s|t|a|r|t| |o|p|t|i|o|n| +0#0000000&@53
+@6|\+0#e000e06&| +0#0000000&|s+0#00e0003&|t|a|r|t|=|"+0#e000002&|s|t|a|r|t|-|p|a|t@1|e|r|n|"| +0#0000000&@45
+@6|"+0#0000e05&|\| |s|k|i|p| |o|p|t|i|o|n| +0#0000000&@54
+@57|7|3|,|7| @9|4|6|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_syntax_05.dump b/runtime/syntax/testdir/dumps/vim_syntax_05.dump
new file mode 100644 (file)
index 0000000..47d60c2
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@5|"+0#0000e05&|\| |s|k|i|p| |o|p|t|i|o|n| +0#0000000&@54
+@6|\+0#e000e06&| +0#0000000&|s+0#00e0003&|k|i|p|=|"+0#e000002&|s|k|i|p|-|p|a|t@1|e|r|n|"| +0#0000000&@47
+@6|"+0#0000e05&|\| |e|n|d| |o|p|t|i|o|n| +0#0000000&@55
+@6|\+0#e000e06&| +0#0000000&|e+0#00e0003&|n|d|=|"+0#e000002&|e|n|d|-|p|a|t@1|e|r|n|"| +0#0000000&@49
+@6|"+0#0000e05&|\| |c|o|n|c|e|a|l| |o|p|t|i|o|n| +0#0000000&@51
+@6>\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l| +0#0000000&@59
+@6|"+0#0000e05&|\| |c@1|h|a|r| |o|p|t|i|o|n| +0#0000000&@53
+@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&@1|h|a|r|=|&+0#e000002&| +0#0000000&@59
+@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d| +0#0000000&@57
+@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|e|d|i|n| |o|p|t|i|o|n| +0#0000000&@47
+@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|e|d|i|n|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|r| @41
+@6|"+0#0000e05&|\| |n|e|x|t|g|r|o|u|p| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=|t+0#0000000&|e|s|t|N|e|x|t|0|,|@|t|e|s|t|C|l|u|s|t|e|r| @34
+@6|"+0#0000e05&|\| |t|r|a|n|s|p|a|r|e|n|t| |o|p|t|i|o|n| +0#0000000&@47
+@6|\+0#e000e06&| +0#0000000&|t+0#e000e06&|r|a|n|s|p|a|r|e|n|t| +0#0000000&@55
+@6|"+0#0000e05&|\| |s|k|i|p|w|h|i|t|e| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
+@6|"+0#0000e05&|\| |s|k|i|p|e|m|p|t|y| |o|p|t|i|o|n| +0#0000000&@49
+@57|9|1|,|7| @9|5|8|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_syntax_06.dump b/runtime/syntax/testdir/dumps/vim_syntax_06.dump
new file mode 100644 (file)
index 0000000..db1872c
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@5|"+0#0000e05&|\| |s|k|i|p|e|m|p|t|y| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|e|m|p|t|y| +0#0000000&@57
+@6|"+0#0000e05&|\| |s|k|i|p|n|l| |o|p|t|i|o|n| +0#0000000&@52
+@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|n|l| +0#0000000&@60
+@6|"+0#0000e05&|\| |c|o|n|t|a|i|n|s| |o|p|t|i|o|n| +0#0000000&@50
+@6>\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2| @28
+@6|"+0#0000e05&|\| |o|n|e|l|i|n|e| |o|p|t|i|o|n| +0#0000000&@51
+@6|\+0#e000e06&| +0#0000000&|o+0#e000e06&|n|e|l|i|n|e| +0#0000000&@59
+@6|"+0#0000e05&|\| |f|o|l|d| |o|p|t|i|o|n| +0#0000000&@54
+@6|\+0#e000e06&| +0#0000000&|f+0#e000e06&|o|l|d| +0#0000000&@62
+@6|"+0#0000e05&|\| |d|i|s|p|l|a|y| |o|p|t|i|o|n| +0#0000000&@51
+@6|\+0#e000e06&| +0#0000000&|d+0#e000e06&|i|s|p|l|a|y| +0#0000000&@59
+@6|"+0#0000e05&|\| |e|x|t|e|n|d| |o|p|t|i|o|n| +0#0000000&@52
+@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|t|e|n|d| +0#0000000&@60
+@6|"+0#0000e05&|\| |c|o|n|c|e|a|l|e|n|d|s| |o|p|t|i|o|n| +0#0000000&@47
+@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|c|e|a|l|e|n|d|s| +0#0000000&@55
+@6|"+0#0000e05&|\| |e|x|c|l|u|d|e|n|l| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|e+0#e000e06&|x|c|l|u|d|e|n|l| +0#0000000&@57
+@6|"+0#0000e05&|\| |k|e@1|p|e|n|d| |o|p|t|i|o|n| +0#0000000&@51
+@57|1|0|9|,|7| @8|7|1|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_syntax_07.dump b/runtime/syntax/testdir/dumps/vim_syntax_07.dump
new file mode 100644 (file)
index 0000000..eb36317
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@5|"+0#0000e05&|\| |k|e@1|p|e|n|d| |o|p|t|i|o|n| +0#0000000&@51
+@6|\+0#e000e06&| +0#0000000&|k+0#e000e06&|e@1|p|e|n|d| +0#0000000&@59
+@75
+|s+0#af5f00255&|y|n| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t+0#00e0003&|e|s|t|C|l|u|s|t|e|r| +0#0000000&@51
+@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
+@6>"+0#0000e05&|\| |c|o|n|t|a|i|n|s| |o|p|t|i|o|n| +0#0000000&@50
+@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2|,|t|e|s|t|C|o|n|t|a|i|n|e|d|3| @13
+@75
+|s+0#af5f00255&|y|n| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t+0#00e0003&|e|s|t|C|l|u|s|t|e|r| +0#0000000&@51
+@6|"+0#0000e05&|\| |O|P|T|I|O|N|S| +0#0000000&@58
+@6|"+0#0000e05&|\| |a|d@1| |o|p|t|i|o|n| +0#0000000&@55
+@6|\+0#e000e06&| +0#0000000&|a+0#e000e06&|d@1|=|t+0#0000000&|e|s|t|A|d@1| @55
+@6|"+0#0000e05&|\| |r|e|m|o|v|e| |o|p|t|i|o|n| +0#0000000&@52
+@6|\+0#e000e06&| +0#0000000&|r+0#e000e06&|e|m|o|v|e|=|t+0#0000000&|e|s|t|R|e|m|o|v|e| @49
+@75
+@75
+|"+0#0000e05&| |m|u|l|t|i|l|i|n|e| |g|r|o|u|p| |l|i|s|t| +0#0000000&@52
+@75
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|0| +0#0000000&|k|e|y|w|o|r|d| @45
+@57|1|2|7|,|7| @8|8|3|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_syntax_08.dump b/runtime/syntax/testdir/dumps/vim_syntax_08.dump
new file mode 100644 (file)
index 0000000..3906e55
--- /dev/null
@@ -0,0 +1,20 @@
+|s+0#af5f00255#ffffff0|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|0| +0#0000000&|k|e|y|w|o|r|d| @45
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|1| +0#0000000&|k|e|y|w|o|r|d| @45
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|2| +0#0000000&|k|e|y|w|o|r|d| @45
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|3| +0#0000000&|k|e|y|w|o|r|d| @45
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|4| +0#0000000&|k|e|y|w|o|r|d| @45
+>s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|5| +0#0000000&|k|e|y|w|o|r|d| @45
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|6| +0#0000000&|k|e|y|w|o|r|d| @45
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|7| +0#0000000&|k|e|y|w|o|r|d| @45
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|8| +0#0000000&|k|e|y|w|o|r|d| @45
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|9| +0#0000000&|k|e|y|w|o|r|d| @45
+@75
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|K|e|y|w|o|r|d| +0#0000000&@51
+@6|"+0#0000e05&|\| |n|e|x|t|g|r|o|u|p| |o|p|t|i|o|n| +0#0000000&@49
+@6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=| +0#0000000&@56
+@6|"+0#0000e05&|\| |a| |c|o|m@1|e|n|t| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|t|e|s|t|N|e|x|t|0| |,| |t|e|s|t|N|e|x|t|1| |,| @43
+@6|"+0#0000e05&|\| |a| |c|o|m@1|e|n|t| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|t|e|s|t|N|e|x|t|[|2|-|8|]|.|*| |,| @49
+@6|"+0#0000e05&|\| |a| |c|o|m@1|e|n|t| +0#0000000&@56
+@57|1|4|5|,|1| @8|9|5|%| 
index c50589d579f5baaada19402f73c85efcd0aae6bf..4ca16c69552a7022e334b5e0d3b341feca7b2bce 100644 (file)
@@ -1,20 +1,20 @@
-| +0&#ffffff0@74
-|s+0#af5f00255&|y|n| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t+0#00e0003&|e|s|t|C|l|u|s|t|e|r| +0#0000000&@51
-@6|\+0#e000e06&| +0#0000000&|c+0#e000e06&|o|n|t|a|i|n|s|=|t+0#0000000&|e|s|t|C|o|n|t|a|i|n|e|d|1|,|t|e|s|t|C|o|n|t|a|i|n|e|d|2|,|t|e|s|t|C|o|n|t|a|i|n|e|d|3| @13
+|s+0#af5f00255#ffffff0|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|6| +0#0000000&|k|e|y|w|o|r|d| @45
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|7| +0#0000000&|k|e|y|w|o|r|d| @45
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|8| +0#0000000&|k|e|y|w|o|r|d| @45
+|s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|N|e|x|t|9| +0#0000000&|k|e|y|w|o|r|d| @45
 @75
-|s+0#af5f00255&|y|n| +0#0000000&|c+0#00e0003&|l|u|s|t|e|r| +0#0000000&|t+0#00e0003&|e|s|t|C|l|u|s|t|e|r| +0#0000000&@51
-@6|\+0#e000e06&| +0#0000000&|a+0#e000e06&|d@1|=|t+0#0000000&|e|s|t|A|d@1| @55
-@6|\+0#e000e06&| +0#0000000&|r+0#e000e06&|e|m|o|v|e|=|t+0#0000000&|e|s|t|R|e|m|o|v|e| @49
-@75
-@75
-|"+0#0000e05&| |c|h|e|c|k| |m|u|l|t|i|l|i|n|e| |g|r|o|u|p| |l|i|s|t| +0#0000000&@46
 |s+0#af5f00255&|y|n| +0#0000000&|k+0#00e0003&|e|y|w|o|r|d| +0#0000000&|t+0#00e0003&|e|s|t|K|e|y|w|o|r|d| +0#0000000&@51
+@6|"+0#0000e05&|\| |n|e|x|t|g|r|o|u|p| |o|p|t|i|o|n| +0#0000000&@49
 @6|\+0#e000e06&| +0#0000000&|n+0#e000e06&|e|x|t|g|r|o|u|p|=| +0#0000000&@56
-@6|\+0#e000e06&| +0#0000000&|t|e|s|t|N|e|x|t| |,| @56
-@6|\+0#e000e06&| +0#0000000&|t|e|s|t|N|e|x|t|2| |,| @55
-@6|\+0#e000e06&| +0#0000000&|@|t|e|s|t|C|l|u|s|t|e|r| @54
-@6|\+0#e000e06&| +0#0000000&|s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@57
+@6|"+0#0000e05&|\| |a| |c|o|m@1|e|n|t| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|t|e|s|t|N|e|x|t|0| |,| |t|e|s|t|N|e|x|t|1| |,| @43
+@6|"+0#0000e05&|\| |a| |c|o|m@1|e|n|t| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|t|e|s|t|N|e|x|t|[|2|-|8|]|.|*| |,| @49
+@6|"+0#0000e05&|\| |a| |c|o|m@1|e|n|t| +0#0000000&@56
+@6|\+0#e000e06&| +0#0000000&|t|e|s|t|N|e|x|t|9| |,| |@|t|e|s|t|C|l|u|s|t|e|r| |s+0#e000e06&|k|i|p|w|h|i|t|e| +0#0000000&@32
+@6|"+0#0000e05&|\| |K|E|Y|W|O|R|D|S| |L|I|S|T| +0#0000000&@52
 @6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|4| @58
 @6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|5| @58
-@6>\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|6| @58
-@57|7|5|,|7| @9|B|o|t| 
+@6|\+0#e000e06&| +0#0000000&|k|e|y|w|o|r|d|6| @58
+> @74
+@57|1|6|4|,|0|-|1| @6|B|o|t| 
diff --git a/runtime/syntax/testdir/input/vim_line_continuation.vim b/runtime/syntax/testdir/input/vim_line_continuation.vim
new file mode 100644 (file)
index 0000000..a32666a
--- /dev/null
@@ -0,0 +1,49 @@
+" Vim line continuations with interspersed comments
+
+function Foo(
+      "\ param a
+      \ a,
+      "\ param b
+      \ b,
+      "\ param c
+      \ c
+      \)
+  echomsg
+       "\ start string
+       \ $"
+       "\ print a
+       \ a = {a:a},
+       "\ print b
+       \ b = {a:b},
+       "\ print c
+       \ c = {a:c}
+       "\ end string
+       \"
+endfunction
+
+call Foo(
+      "\ arg 1
+      \ 11,
+      "\ arg 2
+      \ 22,
+      "\ arg 3
+      \ 33
+      \)
+
+let dict = #{
+      "\ pair 1
+      \ a: 1,
+      "\ pair 2
+      \ b: 2,
+      "\ pair 3
+      \ c: 3
+      \}
+
+let array = [
+      "\ element 1
+      \ 1,
+      "\ element 2
+      \ 2,
+      "\ element 3
+      \ 3
+      \]
index e8c112cea8cfbd23f712e359bbdf79ed03f37425..197d4ac9d9b3b7449609bc3917edb5ce0b84c65e 100644 (file)
-" Vim :syntax highlighting
+" Vim :syntax command
+
+syn match testMatch "pattern" contained " tail comment
+" NOTE: comments not currently supported
+syn keyword testKeyword keyword contained " tail comment
+syn region testRegion start="start-pattern" skip="skip-pattern" end="end-pattern" contained " tail comment
+
+" Multiline commands
 
 syn keyword testKeyword
+      "\ OPTIONS
+      "\ conceal option
       \ conceal
+      "\ cchar option
       \ cchar=&
+      "\ contained option
       \ contained
+      "\ containedin option
       \ containedin=testContainer
-      \ nextgroup=testNext,@testCluster
+      "\ nextgroup option
+      \ nextgroup=testNext0,@testCluster
+      "\ transparent option
       \ transparent
+      "\ skipwhite option
       \ skipwhite
+      "\ skipempty option
       \ skipempty
+      "\ skipnl option
       \ skipnl
+      "\ KEYWORDS LIST
+      "\ keyword 1
       \ keyword1
+      "\ keyword 2
       \ keyword2
+      "\ keyword 3
       \ keyword3
 
 syn match testMatch
-      \ "pattern"
+      "\ MATCH PATTERN
+      "\ pattern start
+      \ /
+      "\ part 1 description
+      \pat1a .* pat1b
+      "\ part 2 description
+      \pat2a .* pat2b
+      "\ part 3 description
+      \pat3a .* pat3b
+      "\ pattern end
+      \/
+      "\ OPTIONS
+      "\ conceal option
       \ conceal
+      "\ cchar option
       \ cchar=&
+      "\ contained option
       \ contained
+      "\ containedin option
       \ containedin=testContainer
-      \ nextgroup=testNext,@testCluster
+      "\ nextgroup option
+      \ nextgroup=testNext0,@testCluster
+      "\ transparent option
       \ transparent
+      "\ skipwhite option
       \ skipwhite
+      "\ skipempty option
       \ skipempty
+      "\ skipnl option
       \ skipnl
+      "\ contains option
       \ contains=testContained1,testContained2
+      "\ fold option
       \ fold
+      "\ display option
       \ display
+      "\ extend option
       \ extend
+      "\ excludenl option
       \ excludenl
+      "\ keepend option
       \ keepend
 
 syn region testRegion
+      "\ OPTIONS
+      "\ start option
       \ start="start-pattern"
-      \ end="end-pattern"
+      "\ skip option
       \ skip="skip-pattern"
-      \ contained
+      "\ end option
+      \ end="end-pattern"
+      "\ conceal option
       \ conceal
+      "\ cchar option
       \ cchar=&
+      "\ contained option
       \ contained
+      "\ containedin option
       \ containedin=testContainer
-      \ nextgroup=testNext,@testCluster
+      "\ nextgroup option
+      \ nextgroup=testNext0,@testCluster
+      "\ transparent option
       \ transparent
+      "\ skipwhite option
       \ skipwhite
+      "\ skipempty option
       \ skipempty
+      "\ skipnl option
       \ skipnl
+      "\ contains option
       \ contains=testContained1,testContained2
+      "\ oneline option
       \ oneline
+      "\ fold option
       \ fold
+      "\ display option
       \ display
+      "\ extend option
       \ extend
+      "\ concealends option
       \ concealends
+      "\ excludenl option
       \ excludenl
+      "\ keepend option
       \ keepend
 
 syn cluster testCluster
+      "\ OPTIONS
+      "\ contains option
       \ contains=testContained1,testContained2,testContained3
 
 syn cluster testCluster
+      "\ OPTIONS
+      "\ add option
       \ add=testAdd
+      "\ remove option
       \ remove=testRemove
 
 
-" check multiline group list
+" multiline group list
+
+syn keyword testNext0 keyword
+syn keyword testNext1 keyword
+syn keyword testNext2 keyword
+syn keyword testNext3 keyword
+syn keyword testNext4 keyword
+syn keyword testNext5 keyword
+syn keyword testNext6 keyword
+syn keyword testNext7 keyword
+syn keyword testNext8 keyword
+syn keyword testNext9 keyword
+
 syn keyword testKeyword
+      "\ nextgroup option
       \ nextgroup=
-      \ testNext , 
-      \ testNext2 , 
-      \ @testCluster 
-      \ skipwhite
+      "\ a comment
+      \ testNext0 , testNext1 , 
+      "\ a comment
+      \ testNext[2-8].* , 
+      "\ a comment
+      \ testNext9 , @testCluster skipwhite
+      "\ KEYWORDS LIST
       \ keyword4
       \ keyword5
       \ keyword6
+
index 72a0d215ad1a2c4037ae370786f0e97a7a63ae1e..ccbc20aa63d1b05696e0840c16a2ee586bb77727 100644 (file)
@@ -13,6 +13,7 @@
 "      2024 Jan 23 by Vim Project (add :[23]match commands)
 "      2024 Jan 25 by Vim Project (WinNewPre autocommand)
 "      2024 Jan 27 by Vim Project (add foreach() function)
+"      2024 Jan 28 by Vim Project (improve line-continuation matching)
 " Version:     9.0-25
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
@@ -247,7 +248,7 @@ syn keyword vimAugroupKey contained aug[roup]
 
 " Operators: {{{2
 " =========
-syn cluster    vimOperGroup    contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimType,vimRegister,vimContinue,vim9Comment,vimVar
+syn cluster    vimOperGroup    contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimType,vimRegister,@vimContinue,vim9Comment,vimVar
 syn match      vimOper "||\|&&\|[-+*/%.!]"                             skipwhite nextgroup=vimString,vimSpecFile
 syn match      vimOper "\%#=1\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\|!\~#\)[?#]\{0,2}"    skipwhite nextgroup=vimString,vimSpecFile
 syn match      vimOper "\(\<is\|\<isnot\)[?#]\{0,2}\>"                 skipwhite nextgroup=vimString,vimSpecFile
@@ -535,23 +536,23 @@ syn match vimNormCmds contained   ".*$"
 
 " Syntax: {{{2
 "=======
-syn match      vimGroupList            contained       "@\=[^[:space:],]\+"    nextgroup=vimGroupListComma                 skipwhite skipnl
-syn match      vimGroupListContinue    contained       "\\"            nextgroup=vimGroupList          skipwhite
-syn match      vimGroupListComma               contained       ","             nextgroup=vimGroupList,vimGroupListContinue skipwhite skipnl
-syn keyword    vimGroupSpecial         contained       ALL     ALLBUT  CONTAINED       TOP
+syn match      vimGroupList    contained       "[^[:space:],]\+\%(\s*,\s*[^[:space:],]\+\)*" contains=vimGroupSpecial
+syn region     vimGroupList    contained       start=/^\s*["#]\\ \|^\s*\\\|[^[:space:],]\+\s*,/ skip=/\s*\n\s*\\\|\s*\n\s*["#]\\ \|^\s*\\\|^\s*["#]\\ / end=/[^[:space:],]\s*$\|[^[:space:],]\ze\s\+\w/ contains=@vimContinue,vimGroupSpecial
+syn keyword    vimGroupSpecial contained       ALL     ALLBUT  CONTAINED       TOP
+
 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynerror")
  syn match     vimSynError     contained       "\i\+"
  syn match     vimSynError     contained       "\i\+=" nextgroup=vimGroupList
 endif
-syn match      vimSynContains  contained       "\<contain\(s\|edin\)=" nextgroup=vimGroupList,vimGroupListContinue skipwhite skipnl
-syn match      vimSynKeyContainedin    contained       "\<containedin="        nextgroup=vimGroupList
-syn match      vimSynNextgroup contained       "nextgroup="    nextgroup=vimGroupList,vimGroupListContinue skipwhite skipnl
+syn match      vimSynContains  contained       "\<contain\%(s\|edin\)="        skipwhite skipnl nextgroup=vimGroupList
+syn match      vimSynKeyContainedin    contained       "\<containedin="        skipwhite skipnl nextgroup=vimGroupList
+syn match      vimSynNextgroup contained       "\<nextgroup="          skipwhite skipnl nextgroup=vimGroupList
 if has("conceal")
+ " no whitespace allowed after '='
  syn match     vimSynCchar     contained       "\<cchar="      nextgroup=vimSynCcharValue
  syn match     vimSynCcharValue        contained       "\S"
 endif
 
-
 syn match      vimSyntax       "\<sy\%[ntax]\>"        contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
 syn match      vimAuSyntax     contained       "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
 syn cluster vimFuncBodyList add=vimSyntax
@@ -568,9 +569,9 @@ syn keyword vimSynType      contained       clear   skipwhite nextgroup=vimGroupList
 
 " Syntax: cluster {{{2
 syn keyword    vimSynType      contained       cluster skipwhite nextgroup=vimClusterName
-syn region     vimClusterName  contained       matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\\|\n\s*\\" matchgroup=vimSep end="$\||" contains=vimContinue,vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
-syn match      vimGroupAdd     contained       "add="  nextgroup=vimGroupList
-syn match      vimGroupRem     contained       "remove="       nextgroup=vimGroupList
+syn region     vimClusterName  contained keepend       matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="$\||" contains=@vimContinue,vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
+syn match      vimGroupAdd     contained keepend       "\<add="        skipwhite skipnl nextgroup=vimGroupList
+syn match      vimGroupRem     contained keepend       "\<remove="     skipwhite skipnl nextgroup=vimGroupList
 syn cluster vimFuncBodyList add=vimSynType,vimGroupAdd,vimGroupRem
 
 " Syntax: foldlevel {{{2
@@ -590,16 +591,16 @@ syn keyword       vimSynType      contained       include skipwhite nextgroup=vimGroupList
 syn cluster vimFuncBodyList add=vimSynType
 
 " Syntax: keyword {{{2
-syn cluster    vimSynKeyGroup  contains=vimContinue,vimSynCchar,vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
+syn cluster    vimSynKeyGroup  contains=@vimContinue,vimSynCchar,vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
 syn keyword    vimSynType      contained       keyword skipwhite nextgroup=vimSynKeyRegion
-syn region     vimSynKeyRegion contained         keepend       matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|\|\n\s*\\" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
+syn region     vimSynKeyRegion contained         keepend       matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|\|$" contains=@vimSynKeyGroup
 syn match      vimSynKeyOpt    contained       "\%#=1\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
 syn cluster vimFuncBodyList add=vimSynType
 
 " Syntax: match {{{2
-syn cluster    vimSynMtchGroup contains=vimContinue,vimMtchComment,vimSynCchar,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation,vim9Comment
+syn cluster    vimSynMtchGroup contains=@vimContinue,vimSynCchar,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation,vimMtchComment
 syn keyword    vimSynType      contained       match   skipwhite nextgroup=vimSynMatchRegion
-syn region     vimSynMatchRegion       contained keepend       matchgroup=vimGroupName start="\h\w*" skip="\n\s*\\" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
+syn region     vimSynMatchRegion       contained keepend       matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|\|$" contains=@vimSynMtchGroup
 syn match      vimSynMtchOpt   contained       "\%#=1\<\(conceal\|transparent\|contained\|excludenl\|keepend\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
 syn cluster vimFuncBodyList add=vimSynMtchGroup
 
@@ -607,14 +608,14 @@ syn cluster vimFuncBodyList add=vimSynMtchGroup
 syn keyword    vimSynType      contained       enable  list    manual  off     on      reset
 
 " Syntax: region {{{2
-syn cluster    vimSynRegPatGroup       contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
-syn cluster    vimSynRegGroup  contains=vimContinue,vimSynCchar,vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
+syn cluster    vimSynRegPatGroup       contains=@vimContinue,vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
+syn cluster    vimSynRegGroup  contains=@vimContinue,vimSynCchar,vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
 syn keyword    vimSynType      contained       region  skipwhite nextgroup=vimSynRegion
-syn region     vimSynRegion    contained keepend       matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\\|\n\s*\\" end="|\|$" contains=@vimSynRegGroup
+syn region     vimSynRegion    contained keepend       matchgroup=vimGroupName start="\h\w*" skip=+\\\\\|\\\|\n\s*\\\|\n\s*"\\ + end="|\|$" contains=@vimSynRegGroup
 syn match      vimSynRegOpt    contained       "\%#=1\<\(conceal\(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>"
-syn match      vimSynReg       contained       "\(start\|skip\|end\)="he=e-1   nextgroup=vimSynRegPat
+syn match      vimSynReg       contained       "\<\%(start\|skip\|end\)="      nextgroup=vimSynRegPat
 syn match      vimSynMtchGrp   contained       "matchgroup="   nextgroup=vimGroup,vimHLGroup
-syn region     vimSynRegPat    contained extend        start="\z([-`~!@#$%^&*_=+;:'",./?]\)"  skip="\\\\\|\\\z1\|\n\s*\\"  end="\z1"  contains=@vimSynRegPatGroup skipwhite nextgroup=vimSynPatMod,vimSynReg
+syn region     vimSynRegPat    contained extend        start="\z([-`~!@#$%^&*_=+;:'",./?]\)"  skip=/\\\\\|\\\z1\|\n\s*\\\|\n\s*"\\ /  end="\z1"  contains=@vimSynRegPatGroup skipwhite nextgroup=vimSynPatMod,vimSynReg
 syn match      vimSynPatMod    contained       "\%#=1\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\="
 syn match      vimSynPatMod    contained       "\%#=1\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\=," nextgroup=vimSynPatMod
 syn match      vimSynPatMod    contained       "lc=\d\+"
@@ -708,7 +709,9 @@ syn match   vimLineComment  +^[ \t:]*"\("[^"]*"\|[^"]\)*$+  contains=@vimCommentGrou
 syn match      vim9LineComment +^[ \t:]\+#.*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
 syn match      vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1    contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
 " Note: Look-behind to work around nextgroup skipnl consuming leading whitespace and preventing a match
-syn match      vimContinue     "\%(^\s*\)\@32<=\\"
+syn match      vimContinue             "^\s*\zs\\"
+syn match         vimContinueComment   '^\s*\zs["#]\\ .*' contained
+syn cluster    vimContinue contains=vimContinue,vimContinueComment
 syn region     vimString       start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
 syn match      vimCommentTitleLeader   '"\s\+'ms=s+1   contained
 
@@ -948,6 +951,7 @@ if !exists("skip_vim_syntax_inits")
  hi def link vimCondHL vimCommand
  hi def link vimConst  vimCommand
  hi def link vimContinue       Special
+ hi def link vimContinueComment        vimComment
  hi def link vimCtrlChar       SpecialChar
  hi def link vimEchoHLNone     vimGroup
  hi def link vimEchoHL vimCommand
@@ -970,7 +974,6 @@ if !exists("skip_vim_syntax_inits")
  hi def link vimFuncSID        Special
  hi def link vimFuncVar        Identifier
  hi def link vimGroupAdd       vimSynOption
- hi def link vimGroupListContinue      vimContinue
  hi def link vimGroupName      vimGroup
  hi def link vimGroupRem       vimSynOption
  hi def link vimGroupSpecial   Special