From b88f9e4a04ce9fb70abb7cdae17688aa4f49c8c9 Mon Sep 17 00:00:00 2001 From: Doug Kearns Date: Tue, 29 Jul 2025 21:03:52 +1000 Subject: [PATCH] runtime(vim): Update base syntax, fix :map termination in :command RHS Ensure :map (and :abbreviate) terminate at | when included in :command replacement strings containing commands separated by line continuations. Signed-off-by: Doug Kearns --- runtime/syntax/generator/vim.vim.base | 19 +++++++--- .../testdir/dumps/vim_ex_abbreviate_00.dump | 26 +++++++------- .../testdir/dumps/vim_ex_abbreviate_01.dump | 28 +++++++-------- .../testdir/dumps/vim_ex_abbreviate_02.dump | 20 +++++++++++ .../testdir/dumps/vim_ex_abbreviate_03.dump | 20 +++++++++++ .../testdir/dumps/vim_ex_command_02.dump | 2 +- .../testdir/dumps/vim_ex_command_03.dump | 2 +- .../testdir/dumps/vim_ex_command_04.dump | 2 +- .../testdir/dumps/vim_ex_command_05.dump | 2 +- .../testdir/dumps/vim_ex_command_06.dump | 2 +- .../testdir/dumps/vim_ex_command_07.dump | 2 +- .../testdir/dumps/vim_ex_command_08.dump | 2 +- .../testdir/dumps/vim_ex_command_09.dump | 14 ++++---- .../testdir/dumps/vim_ex_command_10.dump | 20 +++++++++++ .../syntax/testdir/dumps/vim_ex_map_00.dump | 20 +++++------ .../syntax/testdir/dumps/vim_ex_map_01.dump | 16 ++++----- .../syntax/testdir/dumps/vim_ex_map_02.dump | 22 ++++++------ .../syntax/testdir/dumps/vim_ex_map_03.dump | 34 +++++++++--------- .../syntax/testdir/dumps/vim_ex_map_04.dump | 28 +++++++-------- .../syntax/testdir/dumps/vim_ex_map_05.dump | 20 +++++------ .../syntax/testdir/dumps/vim_ex_map_06.dump | 26 +++++++------- .../syntax/testdir/dumps/vim_ex_map_07.dump | 20 +++++++++++ .../testdir/input/vim_ex_abbreviate.vim | 35 ++++++++++++++++--- .../syntax/testdir/input/vim_ex_command.vim | 7 ++++ runtime/syntax/testdir/input/vim_ex_map.vim | 3 ++ runtime/syntax/vim.vim | 19 +++++++--- 26 files changed, 275 insertions(+), 136 deletions(-) create mode 100644 runtime/syntax/testdir/dumps/vim_ex_abbreviate_02.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_abbreviate_03.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_command_10.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_map_07.dump diff --git a/runtime/syntax/generator/vim.vim.base b/runtime/syntax/generator/vim.vim.base index ceee9fe9ff..fae5861989 100644 --- a/runtime/syntax/generator/vim.vim.base +++ b/runtime/syntax/generator/vim.vim.base @@ -2,7 +2,7 @@ " Language: Vim script " Maintainer: Hirohito Higashi " Doug Kearns -" Last Change: 2025 Jul 24 +" Last Change: 2025 Jul 29 " Former Maintainer: Charles E. Campbell " DO NOT CHANGE DIRECTLY. @@ -1405,9 +1405,20 @@ syn match vimMapLhs contained "\%(.\|\S\)\+" contains=vimCtrlChar,vimNotation, syn match vimMapLhs contained "\%(.\|\S\)\+\ze\s*$" contains=vimCtrlChar,vimNotation,vimMapLeader skipwhite skipnl nextgroup=vimMapRhsContinue syn match vimMapBang contained "\a\@1<=!" skipwhite nextgroup=vimMapMod,vimMapLhs syn match vimMapMod contained "\%#=1<\%(buffer\|expr\|nowait\|script\|silent\|special\|unique\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs -syn region vimMapRhs contained start="\S" skip=+\\|\|\@1<=|\|\n\s*\\\|\n\s*"\\ + end="|" end="$" contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader skipnl nextgroup=vimMapRhsContinue -" assume a continuation comment introduces the RHS -syn region vimMapRhsContinue contained start=+^\s*\%(\\\|"\\ \)+ skip=+\\|\|\@1<=|\|\n\s*\\\|\n\s*"\\ + end="|" end="$" contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader +syn region vimMapRhs contained + \ start="\S" + \ skip=+\\|\|\@1<=|\|\n\s*\%(\\\|["#]\\ \)+ + \ end="\ze|" + \ end="$" + \ nextgroup=vimCmdSep + \ contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader +syn region vimMapRhsContinue contained + \ start=+^\s*\%(\\\|["#]\\ \)+ + \ skip=+\\|\|\@1<=|\|\n\s*\%(\\\|["#]\\ \)+ + \ end="\ze|" + \ end="$" + \ nextgroup=vimCmdSep + \ contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader syn match vimMapLeader contained "\%#=1\c<\%(local\)\=leader>" contains=vimMapLeaderKey syn keyword vimMapModKey contained buffer expr nowait script silent special unique syn case ignore diff --git a/runtime/syntax/testdir/dumps/vim_ex_abbreviate_00.dump b/runtime/syntax/testdir/dumps/vim_ex_abbreviate_00.dump index 274d906efb..dbcca1edc2 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_abbreviate_00.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_abbreviate_00.dump @@ -1,20 +1,20 @@ >"+0#0000e05#ffffff0| |V|i|m| |:|a|b@1|r|e|v|i|a|t|e| |c|o|m@1|a|n|d|s| +0#0000000&@48 +|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|M|a|p|L|h|s| |I|d|e|n|t|i|f|i|e|r| +0#0000000&@29 +|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|M|a|p|R|h|s| |T|o|d|o| +0#0000000&@35 +|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|M|a|p|R|h|s|C|o|n|t|i|n|u|e| |T|o|d|o| +0#0000000&@27 @75 @75 -|a+0#af5f00255&|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f|o@1| |f|o@1|b|a|r| @48 -|c+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c|f|o@1| |c|f|o@1|b|a|r| @45 -|i+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i|f|o@1| |c|f|o@1|b|a|r| @45 +|a+0#af5f00255&|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|f+0#0000001#ffff4012|o@1|b|a|r| +0#0000000#ffffff0@48 +|c+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c+0#00e0e07&|f|o@1| +0#0000000&|c+0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@45 +|i+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i+0#00e0e07&|f|o@1| +0#0000000&|i+0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@45 @75 -|a+0#af5f00255&|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f|o@1| |f|o@1|b|a|r| @41 -|c+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c|f|o@1| |c|f|o@1|b|a|r| @38 -|i+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i|f|o@1| |c|f|o@1|b|a|r| @38 +|a+0#af5f00255&|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|f+0#0000001#ffff4012|o@1|b|a|r| +0#0000000#ffffff0@41 +|c+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c+0#00e0e07&|f|o@1| +0#0000000&|c+0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@38 +|i+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i+0#00e0e07&|f|o@1| +0#0000000&|i+0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@38 @75 -|n+0#af5f00255&|o|r|e|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f|o@1| |f|o@1|b|a|r| @44 -|c+0#af5f00255&|n|o|r|e|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c|f|o@1| |c|f|o@1|b|a|r| @41 -|i+0#af5f00255&|n|o|r|e|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i|f|o@1| |c|f|o@1|b|a|r| @41 -@75 -|a+0#af5f00255&|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f|o@1| |f|o@1|b|a|r| @41 -|c+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c|f|o@1| |c|f|o@1|b|a|r| @38 -|i+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i|f|o@1| |c|f|o@1|b|a|r| @38 +|n+0#af5f00255&|o|r|e|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|f+0#0000001#ffff4012|o@1|b|a|r| +0#0000000#ffffff0@44 +|c+0#af5f00255&|n|o|r|e|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c+0#00e0e07&|f|o@1| +0#0000000&|c+0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@41 +|i+0#af5f00255&|n|o|r|e|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i+0#00e0e07&|f|o@1| +0#0000000&|i+0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@41 @75 +|a+0#af5f00255&|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|f+0#0000001#ffff4012|o@1|b|a|r| +0#0000000#ffffff0@41 @57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_ex_abbreviate_01.dump b/runtime/syntax/testdir/dumps/vim_ex_abbreviate_01.dump index 62f33cc3d5..335408834f 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_abbreviate_01.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_abbreviate_01.dump @@ -1,20 +1,20 @@ -|i+0#af5f00255#ffffff0|n|o|r|e|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i|f|o@1| |c|f|o@1|b|a|r| @41 +| +0&#ffffff0@74 +|n+0#af5f00255&|o|r|e|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|f+0#0000001#ffff4012|o@1|b|a|r| +0#0000000#ffffff0@44 +|c+0#af5f00255&|n|o|r|e|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c+0#00e0e07&|f|o@1| +0#0000000&|c+0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@41 +|i+0#af5f00255&|n|o|r|e|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i+0#00e0e07&|f|o@1| +0#0000000&|i+0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@41 @75 -|a+0#af5f00255&|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f|o@1| |f|o@1|b|a|r| @41 -|c+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c|f|o@1| |c|f|o@1|b|a|r| @38 -|i+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i|f|o@1| |c|f|o@1|b|a|r| @38 -> @74 -|u+0#af5f00255&|n|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f|o@1| @53 -|c+0#af5f00255&|u|n|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c|f|o@1| @51 -|i+0#af5f00255&|u|n|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i|f|o@1| @51 +>a+0#af5f00255&|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&|f+0#0000001#ffff4012|o@1|b|a|r| +0#0000000#ffffff0@41 +|c+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c+0#00e0e07&|f|o@1| +0#0000000&|c+0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@38 +|i+0#af5f00255&|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i+0#00e0e07&|f|o@1| +0#0000000&|i+0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@38 +@75 +|u+0#af5f00255&|n|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&@53 +|c+0#af5f00255&|u|n|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|c+0#00e0e07&|f|o@1| +0#0000000&@51 +|i+0#af5f00255&|u|n|a|b@1|r|e|v| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|i+0#00e0e07&|f|o@1| +0#0000000&@51 @75 |a+0#af5f00255&|b|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@58 |c+0#af5f00255&|a|b|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@57 |i+0#af5f00255&|a|b|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@57 @75 -|~+0#4040ff13&| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -| +0#0000000&@56|1|9|,|0|-|1| @7|B|o|t| +@75 +|"+0#0000e05&| |M|u|l|t|i|l|i|n|e| |R|H|S| +0#0000000&@59 +@57|1|9|,|1| @9|3|7|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_abbreviate_02.dump b/runtime/syntax/testdir/dumps/vim_ex_abbreviate_02.dump new file mode 100644 index 0000000000..c13bcbd29d --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_abbreviate_02.dump @@ -0,0 +1,20 @@ +|"+0#0000e05#ffffff0| |M|u|l|t|i|l|i|n|e| |R|H|S| +0#0000000&@59 +@75 +|a+0#af5f00255&|b@1|r|e|v| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&@64 +| +0#0000001#ffff4012@5|\+0#e000e06#ffffff0| +0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@60 +@75 +>a+0#af5f00255&|b@1|r|e|v| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&@64 +| +0#0000001#ffff4012@5|\+0#e000e06#ffffff0| +0#0000000&@67 +| +0#0000001#ffff4012@5|\+0#e000e06#ffffff0| +0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@60 +@75 +|a+0#af5f00255&|b@1|r|e|v| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&@64 +| +0#0000001#ffff4012@5|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#0000001#ffff4012@5|\+0#e000e06#ffffff0| +0#0000001#ffff4012|f|o@1|b|a|r| +0#0000000#ffffff0@60 +@75 +|a+0#af5f00255&|b@1|r|e|v| +0#0000000&|f+0#00e0e07&|o@1| +0#0000000&@64 +| +0#0000001#ffff4012@5|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#0000001#ffff4012@5|\+0#e000e06#ffffff0| +0#0000001#ffff4012|f|o@1| +0#0000000#ffffff0@63 +| +0#0000001#ffff4012@5|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| +0#0000000&@58 +| +0#0000001#ffff4012@5|\+0#e000e06#ffffff0|b+0#0000001#ffff4012|a|r| +0#0000000#ffffff0@64 +@75 +@57|3|7|,|1| @9|8@1|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_abbreviate_03.dump b/runtime/syntax/testdir/dumps/vim_ex_abbreviate_03.dump new file mode 100644 index 0000000000..c364e75539 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_abbreviate_03.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@74 +|a+0#af5f00255&|b@1|r|e|v| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&@64 +| +0#0000001#ffff4012@1|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| |(|m|a|t|c|h|e|s| |a|s| |R|H|S| |b|u|t| |h|a|r|m|l|e|s@1|)| +0#0000000&@32 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|c|l|e|a|r|"| +0#0000000&@62 +> @74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +| +0#0000000&@56|5|4|,|0|-|1| @7|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim_ex_command_02.dump b/runtime/syntax/testdir/dumps/vim_ex_command_02.dump index d3b9106f44..86712c1e81 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_command_02.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_command_02.dump @@ -17,4 +17,4 @@ @75 |c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|c+0#00e0003&|u|s|t|o|m|,+0#0000000&|s+0#00e0e07&|:|C|o|m|p|l|e|t|e|r|1| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@21 |c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|c+0#00e0003&|u|s|t|o|m|l|i|s|t|,+0#0000000&|s+0#00e0e07&|:|C|o|m|p|l|e|t|e|r|2| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@17 -@57|3|4|,|1| @9|1|9|%| +@57|3|4|,|1| @9|1|8|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_command_03.dump b/runtime/syntax/testdir/dumps/vim_ex_command_03.dump index d26554748d..3502efb843 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_command_03.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_command_03.dump @@ -17,4 +17,4 @@ @6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|b|u|f@1|e|r| +0#0000000&@59 @6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|c|o|m|p|l|e|t|e|=|b+0#00e0003&|u|f@1|e|r| +0#0000000&@50 @6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|c|o|u|n|t| +0#0000000&@60 -@57|5|0|,|0|-|1| @7|3|0|%| +@57|5|0|,|0|-|1| @7|2|9|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_command_04.dump b/runtime/syntax/testdir/dumps/vim_ex_command_04.dump index e1c24980c8..8827d57081 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_command_04.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_command_04.dump @@ -17,4 +17,4 @@ @6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&@58 @6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|r|a|n|g|e| +0#0000000&@60 @6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|r|e|g|i|s|t|e|r| +0#0000000&@57 -@57|6|8|,|7| @9|4|3|%| +@57|6|8|,|7| @9|4|1|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_command_05.dump b/runtime/syntax/testdir/dumps/vim_ex_command_05.dump index f2e09ada1f..21edaa64bc 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_command_05.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_command_05.dump @@ -17,4 +17,4 @@ @6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 @6|\+0#e000e06&| +0#0000000&|-+0#e000e06&|c|o|u|n|t| +0#0000000&@60 @6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 -@57|8|6|,|0|-|1| @7|5@1|%| +@57|8|6|,|0|-|1| @7|5|2|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_command_06.dump b/runtime/syntax/testdir/dumps/vim_ex_command_06.dump index f2d6966bbd..766150a820 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_command_06.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_command_06.dump @@ -17,4 +17,4 @@ |"+0#0000e05&| |E|r@1|o|r|s| +0#0000000&@66 @75 |c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|-+0#ffffff16#ff404010|b|a|d|a|t@1|r|=+0#0000000#ffffff0|a|r|g|u|m|e|n|t|s| |-+0#e000e06&|b|a|n|g| +0#0000000&|-+0#ffffff16#ff404010|b|a|d|a|t@1|r| +0#0000000#ffffff0|-+0#e000e06&|n|a|r|g|s|=|*+0#00e0003&| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@8 -@57|1|0|4|,|7| @8|6|8|%| +@57|1|0|4|,|7| @8|6|4|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_command_07.dump b/runtime/syntax/testdir/dumps/vim_ex_command_07.dump index a9f3d4bc5c..f63dbd998f 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_command_07.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_command_07.dump @@ -17,4 +17,4 @@ |c+0#af5f00255&|o|m|c|l|e|a|r| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@53 @75 @75 -@57|1|2@1|,|1| @8|8|0|%| +@57|1|2@1|,|1| @8|7|6|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_command_08.dump b/runtime/syntax/testdir/dumps/vim_ex_command_08.dump index 9120dd965c..0d828c7c95 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_command_08.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_command_08.dump @@ -17,4 +17,4 @@ |)|/+0#e000e06&|g|e| +0#0000000&@70 @4|e+0#af5f00255&|n|d|i|f| +0#0000000&@65 @4|i+0#af5f00255&|f| +0#0000000&|"+0#e000002&|<|a|r|g|s|>|"| +0#0000000&|=+0#af5f00255&@1| +0#0000000&|"+0#e000002&@1| +0#0000000&@53 -@57|1|4|0|,|0|-|1| @6|9|2|%| +@57|1|4|0|,|0|-|1| @6|8@1|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_command_09.dump b/runtime/syntax/testdir/dumps/vim_ex_command_09.dump index 1b0afce409..7b81de09ce 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_command_09.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_command_09.dump @@ -11,10 +11,10 @@ |c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|-+0#e000e06&|r|a|n|g|e|=|%+0#00e0003&| +0#0000000&|-+0#e000e06&|n|a|r|g|s|=|?+0#00e0003&| +0#0000000&|-+0#e000e06&|b|a|n|g| +0#0000000&|T+0#0000001#ffff4012|b| +0#0000000#ffffff0|:|<+0#e000e06&|l|i|n|e|1|>|,+0#0000000&|<+0#e000e06&|l|i|n|e|2|>|s+0#af5f00255&|/+0#e000e06&|\+0#0000000&|v|"|[|^|"|]|*|"|/+0#e000e06&|\+0#0000000&|=|s|u|b|s|t|i|t|u|t|e |(|s|u|b|m|a|t|c|h|(|0|)|,| |"| |"|,| |"|•|"|,| |"|g|"|)|/+0#e000e06&|g|e| +0#0000000&@43 @75 -|~+0#4040ff13&| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -| +0#0000000&@56|1|5|7|,|5| @8|B|o|t| +@75 +|"+0#0000e05&| |U|n|r|e|p|o|r|t|e|d| |i|s@1|u|e| |(|:|m|a|p| |w|i|t|h| |t|r|a|i|l|i|n|g| |b|a|r| |i|n| |r|e|p|l|a|c|e|m|e|n|t| |t|e|x|t|)| +0#0000000&@11 +|c+0#af5f00255&|o|m@1|a|n|d|!| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@62 +@6|\+0#e000e06&| +0#0000000&|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| |r|h|s| ||| @53 +@6|\+0#e000e06&| +0#0000000&|a+0#af5f00255&|b@1|r|e|v|i|a|t|e| +0#0000000&|f|o@1| |b|a|r| ||| @46 +@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56 +@57|1|5|7|,|5| @8|9@1|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_command_10.dump b/runtime/syntax/testdir/dumps/vim_ex_command_10.dump new file mode 100644 index 0000000000..31663553c5 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_command_10.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56 +> @74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +| +0#0000000&@56|1|7|0|,|0|-|1| @6|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim_ex_map_00.dump b/runtime/syntax/testdir/dumps/vim_ex_map_00.dump index 48b215a756..80b2d5353a 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_map_00.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_map_00.dump @@ -1,20 +1,20 @@ >"+0#0000e05#ffffff0| |V|i|m| |:|m|a|p| |c|o|m@1|a|n|d|s| +0#0000000&@55 +|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|M|a|p|L|h|s| |I|d|e|n|t|i|f|i|e|r| +0#0000000&@29 +|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|M|a|p|R|h|s| |T|o|d|o| +0#0000000&@35 +|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|M|a|p|R|h|s|C|o|n|t|i|n|u|e| |T|o|d|o| +0#0000000&@27 @75 @75 |m+0#af5f00255&|a|p|!| +0#0000000&@70 -|m+0#af5f00255&|a|p|!| +0#0000000&|l|h|s| |r|h|s| @62 +|m+0#af5f00255&|a|p|!| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@62 |m+0#af5f00255&|a|p| +0#0000000&@71 -|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| |r|h|s| @63 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@63 @75 -|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>|<|e|x|p|r|>|<|n|o|w|a|i|t|>|<|s|c|r|i|p|t|>|<|s|i|l|e|n|t|>|<|s|p|e|c|i|a|l|>|<|u|n|i|q|u|e|>| +0#0000000&|l|h|s| |r|h|s| @7 -|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|n|o|w|a|i|t|>| +0#0000000&|<+0#e000e06&|s|c|r|i|p|t|>| +0#0000000&|<+0#e000e06&|s|i|l|e|n|t|>| +0#0000000&|<+0#e000e06&|s|p|e|c|i|a|l|>| +0#0000000&|<+0#e000e06&|u|n|i|q|u|e|>| +0#0000000&|l|h|s| |r|h|s| @1 +|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>|<|e|x|p|r|>|<|n|o|w|a|i|t|>|<|s|c|r|i|p|t|>|<|s|i|l|e|n|t|>|<|s|p|e|c|i|a|l|>|<|u|n|i|q|u|e|>| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@7 +|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|<+0#e000e06&|e|x|p|r|>| +0#0000000&|<+0#e000e06&|n|o|w|a|i|t|>| +0#0000000&|<+0#e000e06&|s|c|r|i|p|t|>| +0#0000000&|<+0#e000e06&|s|i|l|e|n|t|>| +0#0000000&|<+0#e000e06&|s|p|e|c|i|a|l|>| +0#0000000&|<+0#e000e06&|u|n|i|q|u|e|>| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@1 @75 |"+0#0000e05&| |:|m|a|p| |s|p|e|c|i|a|l| |a|r|g|u|m|e|n|t|s| |a|r|e| |c|a|s|e| |s|e|n|s|i|t|i|v|e|,| |<|B|U|F@1|E|R|>| |i|s| |t|h|e| |L|H|S| +0#0000000&@10 -|m+0#af5f00255&|a|p| +0#0000000&|<|B|U|F@1|E|R|>| |r|h|s| @58 +|m+0#af5f00255&|a|p| +0#0000000&|<+0#00e0e07&|B|U|F@1|E|R|>| +0#0000000&|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@58 @75 -|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|l+0#0000000&|h|s| @5|r|h|s| @50 -|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|L|o|c|a|l|L|e|a|d|e|r|>|l+0#0000000&|h|s| |r|h|s| @50 -@75 -|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| |<+0#e000e06&|L|e|a|d|e|r|>|r+0#0000000&|h|s| @55 -|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| |<+0#e000e06&|L|o|c|a|l|L|e|a|d|e|r|>|r+0#0000000&|h|s| @50 +|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|l+0#00e0e07&|h|s| +0#0000000&@5|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@50 +|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|L|o|c|a|l|L|e|a|d|e|r|>|l+0#00e0e07&|h|s| +0#0000000&|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@50 @57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_ex_map_01.dump b/runtime/syntax/testdir/dumps/vim_ex_map_01.dump index c69b9b3764..b7b32c1863 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_map_01.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_map_01.dump @@ -1,11 +1,14 @@ | +0&#ffffff0@74 -|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|l+0#0000000&|h|s| @5|r|h|s| @50 -|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|L|o|c|a|l|L|e|a|d|e|r|>|l+0#0000000&|h|s| |r|h|s| @50 +|"+0#0000e05&| |:|m|a|p| |s|p|e|c|i|a|l| |a|r|g|u|m|e|n|t|s| |a|r|e| |c|a|s|e| |s|e|n|s|i|t|i|v|e|,| |<|B|U|F@1|E|R|>| |i|s| |t|h|e| |L|H|S| +0#0000000&@10 +|m+0#af5f00255&|a|p| +0#0000000&|<+0#00e0e07&|B|U|F@1|E|R|>| +0#0000000&|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@58 @75 -|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| |<+0#e000e06&|L|e|a|d|e|r|>|r+0#0000000&|h|s| @55 ->m+0#af5f00255&|a|p| +0#0000000&|l|h|s| |<+0#e000e06&|L|o|c|a|l|L|e|a|d|e|r|>|r+0#0000000&|h|s| @50 +|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|l+0#00e0e07&|h|s| +0#0000000&@5|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@50 +>m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|L|o|c|a|l|L|e|a|d|e|r|>|l+0#00e0e07&|h|s| +0#0000000&|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@50 @75 -|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| |<+0#e000e06&|P|l|u|g|>|r+0#0000000&|h|s| @57 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@55 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&|<+0#e000e06&|L|o|c|a|l|L|e|a|d|e|r|>|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@50 +@75 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&|<+0#e000e06&|P|l|u|g|>|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@57 @75 |m+0#af5f00255&|a|p|c|l|e|a|r| +0#0000000&@1|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 |m+0#af5f00255&|a|p|c|l|e|a|r|!| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 @@ -14,7 +17,4 @@ |x+0#af5f00255&|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 |s+0#af5f00255&|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 |o+0#af5f00255&|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 -|i+0#af5f00255&|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 -|l+0#af5f00255&|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 -|c+0#af5f00255&|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 @57|1|9|,|1| @9|1|2|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_map_02.dump b/runtime/syntax/testdir/dumps/vim_ex_map_02.dump index 1acccc9f86..07257b6db3 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_map_02.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_map_02.dump @@ -1,20 +1,20 @@ -|c+0#af5f00255#ffffff0|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 +|o+0#af5f00255#ffffff0|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 +|i+0#af5f00255&|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 +|l+0#af5f00255&|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 +|c+0#af5f00255&|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 |t+0#af5f00255&|m|a|p|c|l|e|a|r| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@56 -@75 +> @74 @75 |"+0#0000e05&| |:|h|e|l|p| |m|a|p|-|b|a|r| +0#0000000&@59 -> @74 +@75 |"+0#0000e05&| |<|B|a|r|>| @4|'|<|'| |i|s| |n|o|t| |i|n| |'|c|p|o|p|t|i|o|n|s|'| +0#0000000&@37 -|m+0#af5f00255&|a|p| +0#0000000&|_|l| |:|!|l|s| |<+0#e000e06&|B|a|r|>| +0#0000000&|m|o|r|e|^|M|:|e|c|h|o| |"|r|h|s|"|<+0#e000e06&|C|R|>| +0#0000000&@35 +|m+0#af5f00255&|a|p| +0#0000000&|_+0#00e0e07&|l| +0#0000000&|:+0#0000001#ffff4012|!|l|s| |<+0#e000e06#ffffff0|B|a|r|>| +0#0000001#ffff4012|m|o|r|e|^|M|:|e|c|h|o| |"|r|h|s|"|<+0#e000e06#ffffff0|C|R|>| +0#0000000&@35 |"+0#0000e05&| |\||| @7|'|b|'| |i|s| |n|o|t| |i|n| |'|c|p|o|p|t|i|o|n|s|'| +0#0000000&@37 -|m+0#af5f00255&|a|p| +0#0000000&|_|l| |:|!|l|s| |\||| |m|o|r|e|^|M|:|e|c|h|o| |"|r|h|s|"|<+0#e000e06&|C|R|>| +0#0000000&@38 +|m+0#af5f00255&|a|p| +0#0000000&|_+0#00e0e07&|l| +0#0000000&|:+0#0000001#ffff4012|!|l|s| |\||| |m|o|r|e|^|M|:|e|c|h|o| |"|r|h|s|"|<+0#e000e06#ffffff0|C|R|>| +0#0000000&@38 |"+0#0000e05&| |^|V||| @6|a|l|w|a|y|s|,| |i|n| |V|i|m| |a|n|d| |V|i| +0#0000000&@41 -|m+0#af5f00255&|a|p| +0#0000000&|_|l| |:|!|l|s| |^+0#0000e05&|V||+0#0000000&| |m|o|r|e|^|M|:|e|c|h|o| |"|r|h|s|"|<+0#e000e06&|C|R|>| +0#0000000&@37 -@75 -|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| |:|s|e|a|r|c|h|(|'|f|o@1|\@1|||b|a|r|'|)|<+0#e000e06&|C|R|>|:+0#0000000&|e|c|h|o| |"|r|h|s|"|<+0#e000e06&|C|R|>| +0#0000000&@27 +|m+0#af5f00255&|a|p| +0#0000000&|_+0#00e0e07&|l| +0#0000000&|:+0#0000001#ffff4012|!|l|s| |^+0#0000e05#ffffff0|V||+0#0000001#ffff4012| |m|o|r|e|^|M|:|e|c|h|o| |"|r|h|s|"|<+0#e000e06#ffffff0|C|R|>| +0#0000000&@37 @75 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&|:+0#0000001#ffff4012|s|e|a|r|c|h|(|'|f|o@1|\@1|||b|a|r|'|)|<+0#e000e06#ffffff0|C|R|>|:+0#0000001#ffff4012|e|c|h|o| |"|r|h|s|"|<+0#e000e06#ffffff0|C|R|>| +0#0000000&@27 @75 -|"+0#0000e05&| |M|u|l|t|i|l|i|n|e| |R|H|S| +0#0000000&@59 @75 -|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|b+0#0000000&|a|z| @59 -@57|3|7|,|0|-|1| @7|3|0|%| +@57|3|7|,|0|-|1| @7|2|9|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_map_03.dump b/runtime/syntax/testdir/dumps/vim_ex_map_03.dump index f9c9a7221c..86d4d0ae59 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_map_03.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_map_03.dump @@ -1,20 +1,20 @@ -|m+0#af5f00255#ffffff0|a|p| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|b+0#0000000&|a|z| @59 -@2|\+0#e000e06&| +0#0000000&|:|e|c|h|o| |(|<+0#e000e06&|B|a|r|>| +0#0000000&@58 -@2|\+0#e000e06&| +0#0000000&@71 -@2|\+0#e000e06&|'+0#0000000&|b|a|r|'|)|<+0#e000e06&|C|R|>| +0#0000000&@61 -@2|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@62 -> @74 -|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| @67 -@2|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@62 -@2|\+0#e000e06&| +0#0000000&|e|c|h|o| |"|f|o@1|"| @60 +| +0&#ffffff0@74 +|"+0#0000e05&| |M|u|l|t|i|l|i|n|e| |R|H|S| +0#0000000&@59 @75 -|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| @67 -@2|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@62 -@2|\+0#e000e06&| +0#0000000&|e|c|h|o| |"|f|o@1|"| @60 +|m+0#af5f00255&|a|p| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|b+0#00e0e07&|a|z| +0#0000000&@59 +| +0#0000001#ffff4012@1|\+0#e000e06#ffffff0| +0#0000001#ffff4012|:|e|c|h|o| |(|<+0#e000e06#ffffff0|B|a|r|>| +0#0000000&@58 +| +0#0000001#ffff4012@1>\+0#e000e06#ffffff0| +0#0000000&@71 +| +0#0000001#ffff4012@1|\+0#e000e06#ffffff0|'+0#0000001#ffff4012|b|a|r|'|)|<+0#e000e06#ffffff0|C|R|>| +0#0000000&@61 +| +0#0000001#ffff4012@1|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| +0#0000000&@62 @75 -|m+0#af5f00255&|a|p| +0#0000000&|l|h|s|^+0#0000e05&|V| +0#0000000&@65 -@2|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@62 -@2|\+0#e000e06&| +0#0000000&|e|c|h|o| |"|f|o@1|"| @60 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&@67 +| +0#0000001#ffff4012@1|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| +0#0000000&@62 +| +0#0000001#ffff4012@1|\+0#e000e06#ffffff0| +0#0000001#ffff4012|e|c|h|o| |"|f|o@1|"| +0#0000000#ffffff0@60 @75 -|m+0#af5f00255&|a|p| +0#0000000&|l|^+0#0000e05&|V| +0#0000000&|h|s| @64 -@57|5@1|,|0|-|1| @7|4|8|%| +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&@67 +| +0#0000001#ffff4012@1|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| +0#0000000&@62 +| +0#0000001#ffff4012@1|\+0#e000e06#ffffff0| +0#0000001#ffff4012|e|c|h|o| |"|f|o@1|"| +0#0000000#ffffff0@60 +@75 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|h|s|^+0#0000e05&|V| +0#00e0e07&| +0#0000000&@64 +| +0#0000001#ffff4012@1|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| +0#0000000&@62 +@57|5@1|,|3| @9|4|6|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_map_04.dump b/runtime/syntax/testdir/dumps/vim_ex_map_04.dump index 1f395aed39..c742d09742 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_map_04.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_map_04.dump @@ -1,20 +1,20 @@ -|m+0#af5f00255#ffffff0|a|p| +0#0000000&|l|^+0#0000e05&|V| +0#0000000&|h|s| @64 -@2|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@62 -@2|\+0#e000e06&| +0#0000000&|e|c|h|o| |"|f|o@1|"| @60 +| +0#0000001#ffff4012@1|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| +0#0000000&@62 +| +0#0000001#ffff4012@1|\+0#e000e06#ffffff0| +0#0000001#ffff4012|e|c|h|o| |"|f|o@1|"| +0#0000000#ffffff0@60 @75 -|m+0#af5f00255&|a|p| +0#0000000&|l|^+0#0000e05&|V| +0#0000000&|h|s| @64 -@2>"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@62 -@2|\+0#e000e06&| +0#0000000&|e|c|h|o| |"|f|o@1|"| @60 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|^+0#0000e05&|V| +0#00e0e07&|h|s| +0#0000000&@64 +| +0#0000001#ffff4012@1|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| +0#0000000&@62 +| +0#0000001#ffff4012@1>\+0#e000e06#ffffff0| +0#0000001#ffff4012|e|c|h|o| |"|f|o@1|"| +0#0000000#ffffff0@60 @75 -|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| |r|h|s| @63 -|m+0#af5f00255&|a|p| +0#0000000&|l|^+0#0000e05&|V| +0#0000000&|h|^+0#0000e05&|V| +0#0000000&|s|^+0#0000e05&|V| +0#0000000&@1|r|h|s| @54 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|^+0#0000e05&|V| +0#00e0e07&|h|s| +0#0000000&@64 +| +0#0000001#ffff4012@1|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| +0#0000000&@62 +| +0#0000001#ffff4012@1|\+0#e000e06#ffffff0| +0#0000001#ffff4012|e|c|h|o| |"|f|o@1|"| +0#0000000#ffffff0@60 @75 -|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| @67 -@2|"+0#0000e05&|\| |c|o|m@1|e|n|t| |(|m|a|t|c|h|e|s| |a|s| |R|H|S| |b|u|t| |h|a|r|m|l|e|s@1|)| +0#0000000&@32 -|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|c|l|e|a|r|"| +0#0000000&@62 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@63 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|^+0#0000e05&|V| +0#00e0e07&|h|^+0#0000e05&|V| +0#00e0e07&|s|^+0#0000e05&|V| +0#00e0e07&| +0#0000000&|r+0#0000001#ffff4012|h|s| +0#0000000#ffffff0@54 @75 +|m+0#af5f00255&|a|p| +0#0000000&|l+0#00e0e07&|h|s| +0#0000000&@67 +| +0#0000001#ffff4012@1|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| |(|m|a|t|c|h|e|s| |a|s| |R|H|S| |b|u|t| |h|a|r|m|l|e|s@1|)| +0#0000000&@32 +|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|c|l|e|a|r|"| +0#0000000&@62 @75 -|"+0#0000e05&| |D|i|f@1|e|r|e|n|t|i|a|t|e| |m|a|p|(|)| |f|r|o|m| |:|m|a|p| +0#0000000&@43 @75 -|m+0#af5f00255&|a|p| +0#0000000&|(| |:|e|c|h|o| |"|o|p|e|n|-|p|a|r|e|n|"|<+0#e000e06&|C|R|>| +0#0000000&@46 -@57|7|3|,|3| @9|6|5|%| +@57|7|3|,|3| @9|6|3|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_map_05.dump b/runtime/syntax/testdir/dumps/vim_ex_map_05.dump index a7584f738f..c3765cea2a 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_map_05.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_map_05.dump @@ -1,20 +1,20 @@ -|m+0#af5f00255#ffffff0|a|p| +0#0000000&|(| |:|e|c|h|o| |"|o|p|e|n|-|p|a|r|e|n|"|<+0#e000e06&|C|R|>| +0#0000000&@46 +| +0&#ffffff0@74 +|"+0#0000e05&| |D|i|f@1|e|r|e|n|t|i|a|t|e| |m|a|p|(|)| |f|r|o|m| |:|m|a|p| +0#0000000&@43 @75 -|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|p|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |'+0#e000002&|v|:|v|a|l|'|)+0#e000e06&| +0#0000000&@51 +|m+0#af5f00255&|a|p| +0#0000000&|(+0#00e0e07&| +0#0000000&|:+0#0000001#ffff4012|e|c|h|o| |"|o|p|e|n|-|p|a|r|e|n|"|<+0#e000e06#ffffff0|C|R|>| +0#0000000&@46 +@75 +>c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|p|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |'+0#e000002&|v|:|v|a|l|'|)+0#e000e06&| +0#0000000&@51 |c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|p| +0#0000000&|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |'+0#e000002&|v|:|v|a|l|'|)+0#e000e06&| +0#0000000&@50 @75 ->f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@60 -@2|m+0#af5f00255&|a|p| +0#0000000&|(| |:|e|c|h|o| |"|o|p|e|n|-|p|a|r|e|n|"|<+0#e000e06&|C|R|>| +0#0000000&@44 +|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@60 +@2|m+0#af5f00255&|a|p| +0#0000000&|(+0#00e0e07&| +0#0000000&|:+0#0000001#ffff4012|e|c|h|o| |"|o|p|e|n|-|p|a|r|e|n|"|<+0#e000e06#ffffff0|C|R|>| +0#0000000&@44 @2|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|p|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |'+0#e000002&|v|:|v|a|l|'|)+0#e000e06&| +0#0000000&@49 @2|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|p| +0#0000000&|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |'+0#e000002&|v|:|v|a|l|'|)+0#e000e06&| +0#0000000&@48 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63 @75 |d+0#af5f00255&|e|f| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@65 -@2|m+0#af5f00255&|a|p| +0#0000000&|(| |:|e|c|h|o| |"|o|p|e|n|-|p|a|r|e|n|"|<+0#e000e06&|C|R|>| +0#0000000&@44 +@2|m+0#af5f00255&|a|p| +0#0000000&|(+0#00e0e07&| +0#0000000&|:+0#0000001#ffff4012|e|c|h|o| |"|o|p|e|n|-|p|a|r|e|n|"|<+0#e000e06#ffffff0|C|R|>| +0#0000000&@44 @2|m+0#00e0e07&|a|p|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |'+0#e000002&|v|:|v|a|l|'|)+0#e000e06&| +0#0000000&@54 @2|#+0#0000e05&| |:|m|a|p| |L|H|S|=|(|l|i|s|t|,| |R|H|S|=|'|v|:|v|a|l|'|)| +0#0000000&@42 -@2|m+0#af5f00255&|a|p| +0#0000000&|(|l|i|s|t|,| |'|v|:|v|a|l|'|)| @53 -|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68 -@75 -@75 -@57|9|1|,|1| @9|8|3|%| +@2|m+0#af5f00255&|a|p| +0#0000000&|(+0#00e0e07&|l|i|s|t|,| +0#0000000&|'+0#0000001#ffff4012|v|:|v|a|l|'|)| +0#0000000#ffffff0@53 +@57|9|1|,|1| @9|8|0|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_map_06.dump b/runtime/syntax/testdir/dumps/vim_ex_map_06.dump index ca0d8cda29..4e5b057440 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_map_06.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_map_06.dump @@ -1,20 +1,20 @@ -| +0&#ffffff0@74 -|"+0#0000e05&| |I|s@1|u|e| @1|#|1|2|6|7|2| +0#0000000&@59 +| +0&#ffffff0@1|m+0#af5f00255&|a|p| +0#0000000&|(+0#00e0e07&|l|i|s|t|,| +0#0000000&|'+0#0000001#ffff4012|v|:|v|a|l|'|)| +0#0000000#ffffff0@53 +|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68 +@75 @75 -|n+0#af5f00255&@1|o|r|e|m|a|p| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|f+0#0000000&|o@1| |:|e|c|h|o| |c|a|l@1|(| @42 -@2|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@62 -@2>\+0#e000e06&| +0#0000000&|{|x|-|>|x|}|,| @63 -@2|\+0#e000e06&| +0#0000000&|[|'|f|o@1|'|]|)|<+0#e000e06&|C|R|>| +0#0000000&@58 +|"+0#0000e05&| |I|s@1|u|e| @1|#|1|2|6|7|2| +0#0000000&@59 +> @74 +|n+0#af5f00255&@1|o|r|e|m|a|p| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|f+0#00e0e07&|o@1| +0#0000000&|:+0#0000001#ffff4012|e|c|h|o| |c|a|l@1|(| +0#0000000#ffffff0@42 +| +0#0000001#ffff4012@1|"+0#0000e05#ffffff0|\| |c|o|m@1|e|n|t| +0#0000000&@62 +| +0#0000001#ffff4012@1|\+0#e000e06#ffffff0| +0#0000001#ffff4012|{|x|-|>|x|}|,| +0#0000000#ffffff0@63 +| +0#0000001#ffff4012@1|\+0#e000e06#ffffff0| +0#0000001#ffff4012|[|'|f|o@1|'|]|)|<+0#e000e06#ffffff0|C|R|>| +0#0000000&@58 @75 -|n+0#af5f00255&@1|o|r|e|m|a|p| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|b+0#0000000&|a|r| |:|e|c|h|o| |(| @46 -@2|\+0#e000e06&| +0#0000000&@71 -@2|\+0#e000e06&| +0#0000000&|'|b|a|r|'|)|<+0#e000e06&|C|R|>| +0#0000000&@60 +|n+0#af5f00255&@1|o|r|e|m|a|p| +0#0000000&|<+0#e000e06&|L|e|a|d|e|r|>|b+0#00e0e07&|a|r| +0#0000000&|:+0#0000001#ffff4012|e|c|h|o| |(| +0#0000000#ffffff0@46 +| +0#0000001#ffff4012@1|\+0#e000e06#ffffff0| +0#0000000&@71 +| +0#0000001#ffff4012@1|\+0#e000e06#ffffff0| +0#0000001#ffff4012|'|b|a|r|'|)|<+0#e000e06#ffffff0|C|R|>| +0#0000000&@60 @75 @75 |"+0#0000e05&| +0#0000000&|E+0#e000e06&|x|a|m|p|l|e|:| +0#0000000&@64 |"+0#0000e05&| @2|/|a|u|t|o|l|o|a|d|/|n|e|t|r|w|.|v|i|m| +0#0000000&@51 @75 -|i+0#af5f00255&|f| +0#0000000&|!+0#af5f00255&|h+0#00e0e07&|a|s|m|a|p|t|o|(+0#e000e06&|'+0#e000002&|<|P|l|u|g|>|N|e|t|r|w|O|p|e|n|F|i|l|e|'|)+0#e000e06&| +0#0000000&@9|||n+0#af5f00255&|m|a|p| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|<+0#e000e06&|s|i|l|e|n|t|>| +0#0000000&|<+0#e000e06&|n|o|w|a|i -|t|>| +0#0000000&|%| |<+0#e000e06&|P|l|u|g|>|N+0#0000000&|e|t|r|w|O|p|e|n|F|i|l|e|||e+0#af5f00255&|n|d|i|f| +0#0000000&@44 -@75 -@57|1|0|9|,|3| @8|B|o|t| +@57|1|0|9|,|0|-|1| @6|9|8|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_map_07.dump b/runtime/syntax/testdir/dumps/vim_ex_map_07.dump new file mode 100644 index 0000000000..c8476d82db --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_map_07.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@74 +|i+0#af5f00255&|f| +0#0000000&|!+0#af5f00255&|h+0#00e0e07&|a|s|m|a|p|t|o|(+0#e000e06&|'+0#e000002&|<|P|l|u|g|>|N|e|t|r|w|O|p|e|n|F|i|l|e|'|)+0#e000e06&| +0#0000000&@9|||n+0#af5f00255&|m|a|p| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&|<+0#e000e06&|s|i|l|e|n|t|>| +0#0000000&|<+0#e000e06&|n|o|w|a|i +|t|>| +0#0000000&|%+0#00e0e07&| +0#0000000&|<+0#e000e06&|P|l|u|g|>|N+0#0000001#ffff4012|e|t|r|w|O|p|e|n|F|i|l|e||+0#0000000#ffffff0|e+0#af5f00255&|n|d|i|f| +0#0000000&@44 +> @74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +| +0#0000000&@56|1|2|4|,|0|-|1| @6|B|o|t| diff --git a/runtime/syntax/testdir/input/vim_ex_abbreviate.vim b/runtime/syntax/testdir/input/vim_ex_abbreviate.vim index 30fb32da09..5965311e82 100644 --- a/runtime/syntax/testdir/input/vim_ex_abbreviate.vim +++ b/runtime/syntax/testdir/input/vim_ex_abbreviate.vim @@ -1,21 +1,24 @@ " Vim :abbreviate commands +" VIM_TEST_SETUP hi link vimMapLhs Identifier +" VIM_TEST_SETUP hi link vimMapRhs Todo +" VIM_TEST_SETUP hi link vimMapRhsContinue Todo abbrev foo foobar cabbrev cfoo cfoobar -iabbrev ifoo cfoobar +iabbrev ifoo ifoobar abbrev foo foobar cabbrev cfoo cfoobar -iabbrev ifoo cfoobar +iabbrev ifoo ifoobar noreabbrev foo foobar cnoreabbrev cfoo cfoobar -inoreabbrev ifoo cfoobar +inoreabbrev ifoo ifoobar abbrev foo foobar cabbrev cfoo cfoobar -iabbrev ifoo cfoobar +iabbrev ifoo ifoobar unabbrev foo cunabbrev cfoo @@ -25,3 +28,27 @@ abclear cabclear iabclear + +" Multiline RHS + +abbrev foo + \ foobar + +abbrev foo + \ + \ foobar + +abbrev foo + "\ comment + \ foobar + +abbrev foo + "\ comment + \ foo + "\ comment + \bar + +abbrev lhs + "\ comment (matches as RHS but harmless) +echo "clear" + diff --git a/runtime/syntax/testdir/input/vim_ex_command.vim b/runtime/syntax/testdir/input/vim_ex_command.vim index b3b19e9e29..6fd59bf108 100644 --- a/runtime/syntax/testdir/input/vim_ex_command.vim +++ b/runtime/syntax/testdir/input/vim_ex_command.vim @@ -161,3 +161,10 @@ command -range=% -nargs=? -bang Tb { command -range=% -nargs=? -bang Tb :,s/\v"[^"]*"/\=substitute(submatch(0), " ", "•", "g")/ge + +" Unreported issue (:map with trailing bar in replacement text) +command! Foo + \ map lhs rhs | + \ abbreviate foo bar | + \ echo "Foo" + diff --git a/runtime/syntax/testdir/input/vim_ex_map.vim b/runtime/syntax/testdir/input/vim_ex_map.vim index 08833eb712..b7c33ef498 100644 --- a/runtime/syntax/testdir/input/vim_ex_map.vim +++ b/runtime/syntax/testdir/input/vim_ex_map.vim @@ -1,4 +1,7 @@ " Vim :map commands +" VIM_TEST_SETUP hi link vimMapLhs Identifier +" VIM_TEST_SETUP hi link vimMapRhs Todo +" VIM_TEST_SETUP hi link vimMapRhsContinue Todo map! diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index c3dd63ab06..a9b068ab62 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -2,7 +2,7 @@ " Language: Vim script " Maintainer: Hirohito Higashi " Doug Kearns -" Last Change: 2025 Jul 25 +" Last Change: 2025 Jul 29 " Former Maintainer: Charles E. Campbell " DO NOT CHANGE DIRECTLY. @@ -1466,9 +1466,20 @@ syn match vimMapLhs contained "\%(.\|\S\)\+" contains=vimCtrlChar,vimNotation, syn match vimMapLhs contained "\%(.\|\S\)\+\ze\s*$" contains=vimCtrlChar,vimNotation,vimMapLeader skipwhite skipnl nextgroup=vimMapRhsContinue syn match vimMapBang contained "\a\@1<=!" skipwhite nextgroup=vimMapMod,vimMapLhs syn match vimMapMod contained "\%#=1<\%(buffer\|expr\|nowait\|script\|silent\|special\|unique\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs -syn region vimMapRhs contained start="\S" skip=+\\|\|\@1<=|\|\n\s*\\\|\n\s*"\\ + end="|" end="$" contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader skipnl nextgroup=vimMapRhsContinue -" assume a continuation comment introduces the RHS -syn region vimMapRhsContinue contained start=+^\s*\%(\\\|"\\ \)+ skip=+\\|\|\@1<=|\|\n\s*\\\|\n\s*"\\ + end="|" end="$" contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader +syn region vimMapRhs contained + \ start="\S" + \ skip=+\\|\|\@1<=|\|\n\s*\%(\\\|["#]\\ \)+ + \ end="\ze|" + \ end="$" + \ nextgroup=vimCmdSep + \ contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader +syn region vimMapRhsContinue contained + \ start=+^\s*\%(\\\|["#]\\ \)+ + \ skip=+\\|\|\@1<=|\|\n\s*\%(\\\|["#]\\ \)+ + \ end="\ze|" + \ end="$" + \ nextgroup=vimCmdSep + \ contains=@vimContinue,vimCtrlChar,vimNotation,vimMapLeader syn match vimMapLeader contained "\%#=1\c<\%(local\)\=leader>" contains=vimMapLeaderKey syn keyword vimMapModKey contained buffer expr nowait script silent special unique syn case ignore -- 2.47.2