Mercurial > vim
changeset 34227:60e1e94a1b0e
runtime(vim): Update syntax and ftplugin files (#13924)
Commit: https://github.com/vim/vim/commit/21ce159e05615fd139c564b734a4bffc9f3fdc4b
Author: dkearns <dougkearns@gmail.com>
Date: Mon Jan 29 04:54:08 2024 +1100
runtime(vim): Update syntax and ftplugin files (https://github.com/vim/vim/issues/13924)
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>
line wrap: on
line diff
--- a/runtime/ftplugin/vim.vim +++ b/runtime/ftplugin/vim.vim @@ -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)?
new file mode 100644 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_line_continuation_00.dump @@ -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|
new file mode 100644 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_line_continuation_01.dump @@ -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|%|
new file mode 100644 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_line_continuation_02.dump @@ -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|
new file mode 100644 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_line_continuation_99.dump @@ -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|
--- a/runtime/syntax/testdir/dumps/vim_syntax_00.dump +++ b/runtime/syntax/testdir/dumps/vim_syntax_00.dump @@ -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|
--- a/runtime/syntax/testdir/dumps/vim_syntax_01.dump +++ b/runtime/syntax/testdir/dumps/vim_syntax_01.dump @@ -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|%|
--- a/runtime/syntax/testdir/dumps/vim_syntax_02.dump +++ b/runtime/syntax/testdir/dumps/vim_syntax_02.dump @@ -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|%|
--- a/runtime/syntax/testdir/dumps/vim_syntax_03.dump +++ b/runtime/syntax/testdir/dumps/vim_syntax_03.dump @@ -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|%|
new file mode 100644 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_syntax_04.dump @@ -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|%|
new file mode 100644 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_syntax_05.dump @@ -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|%|
new file mode 100644 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_syntax_06.dump @@ -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|%|
new file mode 100644 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_syntax_07.dump @@ -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|%|
new file mode 100644 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_syntax_08.dump @@ -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|%|
--- a/runtime/syntax/testdir/dumps/vim_syntax_99.dump +++ b/runtime/syntax/testdir/dumps/vim_syntax_99.dump @@ -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 -@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 +|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 -@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|
new file mode 100644 --- /dev/null +++ b/runtime/syntax/testdir/input/vim_line_continuation.vim @@ -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 + \]
--- a/runtime/syntax/testdir/input/vim_syntax.vim +++ b/runtime/syntax/testdir/input/vim_syntax.vim @@ -1,75 +1,164 @@ -" 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" + "\ skip option + \ skip="skip-pattern" + "\ end option \ end="end-pattern" - \ skip="skip-pattern" - \ contained + "\ 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 +
--- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -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[ " 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 s " 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 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=vimSynMt 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:]*"\("[^ 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