From fa3b1043c6ac38df5e58f7444f478e1ddd4000a6 Mon Sep 17 00:00:00 2001 From: Doug Kearns Date: Tue, 22 Apr 2025 19:48:13 +0200 Subject: [PATCH] runtime(vim): Update base-syntax, improve :autocmd highlighting - Match full :autocmd, :doautocmd and :doautoall commands. - Add filename pattern (wildcard) highlighting. Signed-off-by: Doug Kearns Signed-off-by: Christian Brabandt --- runtime/syntax/generator/gen_syntax_vim.vim | 7 +- runtime/syntax/generator/vim.vim.base | 159 +++++++++-- .../syntax/testdir/dumps/vim9_comment_01.dump | 2 +- .../dumps/vim9_ex_comment_strings_01.dump | 2 +- .../dumps/vim9_ex_no_comment_strings_01.dump | 2 +- .../syntax/testdir/dumps/vim9_lambda_09.dump | 2 +- .../syntax/testdir/dumps/vim_comment_01.dump | 2 +- .../testdir/dumps/vim_ex_augroup_00.dump | 40 +-- .../testdir/dumps/vim_ex_augroup_01.dump | 20 ++ .../testdir/dumps/vim_ex_augroup_02.dump | 20 ++ .../testdir/dumps/vim_ex_augroup_03.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_00.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_01.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_02.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_03.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_04.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_05.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_06.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_07.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_08.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_09.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_10.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_11.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_12.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_13.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_14.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_15.dump | 20 ++ .../testdir/dumps/vim_ex_autocmd_16.dump | 20 ++ .../dumps/vim_ex_comment_strings_00.dump | 2 +- .../dumps/vim_ex_comment_strings_01.dump | 2 +- .../dumps/vim_ex_no_comment_strings_00.dump | 2 +- .../dumps/vim_ex_no_comment_strings_01.dump | 2 +- .../syntax/testdir/input/vim_ex_augroup.vim | 42 ++- .../syntax/testdir/input/vim_ex_autocmd.vim | 264 ++++++++++++++++++ runtime/syntax/vim.vim | 163 +++++++++-- 35 files changed, 1003 insertions(+), 90 deletions(-) create mode 100644 runtime/syntax/testdir/dumps/vim_ex_augroup_01.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_augroup_02.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_augroup_03.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_00.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_01.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_02.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_03.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_04.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_05.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_06.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_07.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_08.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_09.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_10.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_11.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_12.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_13.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_14.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_15.dump create mode 100644 runtime/syntax/testdir/dumps/vim_ex_autocmd_16.dump create mode 100644 runtime/syntax/testdir/input/vim_ex_autocmd.vim diff --git a/runtime/syntax/generator/gen_syntax_vim.vim b/runtime/syntax/generator/gen_syntax_vim.vim index d2bfc5c678..e016deaf84 100644 --- a/runtime/syntax/generator/gen_syntax_vim.vim +++ b/runtime/syntax/generator/gen_syntax_vim.vim @@ -1,7 +1,7 @@ " Vim syntax file generator " Language: Vim script " Maintainer: Hirohito Higashi (h_east) -" Last Change: 2025 Apr 10 +" Last Change: 2025 Apr 23 let s:keepcpo= &cpo set cpo&vim @@ -257,7 +257,6 @@ function s:get_vim_command_type(cmd_name) abstract append augroup - augroup autocmd behave call @@ -402,6 +401,10 @@ function s:parse_vim_event(li) call add(a:li, copy(item)) endfor + " "User" requires a user defined argument event. + " (Separately specified in vim.vim.base). + call filter(a:li, {idx, val -> val.name !=# 'User'}) + quit! if empty(a:li) diff --git a/runtime/syntax/generator/vim.vim.base b/runtime/syntax/generator/vim.vim.base index 2dab30760e..21fcf37c8d 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 Apr 10 +" Last Change: 2025 Apr 23 " Former Maintainer: Charles E. Campbell " DO NOT CHANGE DIRECTLY. @@ -78,7 +78,10 @@ syn match vimOptionVarName contained "t_k;" " AutoCmd Events {{{2 syn case ignore -" GEN_SYN_VIM: vimAutoEvent, START_STR='syn keyword vimAutoEvent contained', END_STR='' +" GEN_SYN_VIM: vimAutoEvent, START_STR='syn keyword vimAutoEvent contained', END_STR='skipwhite nextgroup=vimAutoEventSep,@vimAutocmdPattern' + +syn keyword vimAutoEvent contained User skipwhite nextgroup=vimUserAutoEvent +syn match vimUserAutoEvent contained "\<\h\w*\>" skipwhite nextgroup=vimAutoEventSep,@vimAutocmdPattern " Highlight commonly used Groupnames {{{2 syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo @@ -230,7 +233,7 @@ syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vim syn case match " All vimCommands are contained by vimIsCommand. {{{2 -syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimFor,vimFunction,vimFuncFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList +syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimFor,vimFunction,vimFuncFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var syn match vimCmdSep "\\\@1" contains=vimAugroupKey,vimAugroupBang skipwhite nextgroup=vimAugroupBang,vimAutoCmdGroup -if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'a' - syn region vimAugroup fold start="\\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd -else - syn region vimAugroup start="\\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd -endif + +" define +VimFolda syn region vimAugroup + \ start="\\ze\s\+\%([eE][nN][dD]\)\@!\S\+" + \ matchgroup=vimAugroupKey + \ end="\\ze\s\+[eE][nN][dD]\>" + \ skipwhite nextgroup=vimAugroupEnd + \ contains=vimAutocmd,@vimAugroupList,vimAugroupkey if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noaugrouperror") - syn match vimAugroupError "\\s\+[eE][nN][dD]\>" + syn match vimAugroupError "\\s\+[eE][nN][dD]\>" endif -syn match vimAutoCmdGroup contained "\S\+" -syn match vimAugroupEnd contained "\c\" -syn match vimAugroupBang contained "\a\@1<=!" skipwhite nextgroup=vimAutoCmdGroup -syn keyword vimAugroupKey contained aug[roup] skipwhite nextgroup=vimAugroupBang,vimAutoCmdGroup,vimAugroupEnd +" TODO: Vim9 comment +syn match vimAugroupName contained "\%(\\["|[:space:]]\|[^"|[:space:]]\)\+" +syn match vimAugroupEnd contained "\c\" +syn match vimAugroupBang contained "\a\@1<=!" skipwhite nextgroup=vimAugroupName +syn keyword vimAugroupKey contained aug[roup] skipwhite nextgroup=vimAugroupBang,vimAugroupName,vimAugroupEnd +" remove +syn match vimAugroup "\\ze\s*\%(["|]\|$\)" skipwhite nextgroup=vimCmdSep,vimComment contains=vimAugroupKey +Vim9 syn match vimAugroup "\\ze\s*\%([#|]\|$\)" skipwhite nextgroup=vimCmdSep,vim9Comment contains=vimAugroupKey + +" hi def link vimAugroupEnd Special " Operators: {{{2 " ========= syn cluster vimOperGroup contains=@vimContinue,@vimExprList,vim9Comment @@ -888,16 +902,83 @@ syn cluster vimForInContinue contains=vimForInContinue,vimForInContinueComment " GEN_SYN_VIM: vimCommand abbrev, START_STR='syn keyword vimAbb', END_STR='skipwhite nextgroup=vimMapMod,vimMapLhs' " GEN_SYN_VIM: vimCommand abclear, START_STR='syn keyword vimAbb', END_STR='skipwhite nextgroup=vimMapMod' -" Autocmd: {{{2 -" ======= -syn match vimAutoCmdBang contained "\a\@1<=!" skipwhite nextgroup=vimAutoEventList -syn match vimAutoEventList contained "\%(\a\+,\)*\a\+" contains=vimAutoEvent nextgroup=vimAutoCmdSpace -syn match vimAutoCmdSpace contained "\s\+" nextgroup=vimAutoCmdSfxList -syn match vimAutoCmdSfxList contained "\S*" skipwhite nextgroup=vimAutoCmdMod,vimAutoCmdBlock -syn keyword vimAutoCmd au[tocmd] skipwhite nextgroup=vimAutoCmdBang,vimAutoEventList -syn keyword vimAutoCmd do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoEventList -syn match vimAutoCmdMod "\(++\)\=\(once\|nested\)" skipwhite nextgroup=vimAutoCmdBlock -syn region vimAutoCmdBlock contained matchgroup=vimSep start="{" end="^\s*\zs}" contains=@vimDefBodyList +" Filename Patterns: {{{2 +" ================= + +syn match vimWildcardQuestion contained "?" +syn match vimWildcardStar contained "*" + +syn match vimWildcardBraceComma contained "," +syn region vimWildcardBrace contained + \ matchgroup=vimWildcard + \ start="{" + \ end="}" + \ contains=vimWildcardEscape,vimWildcardBrace,vimWildcardBraceComma,vimWildcardQuestion,vimWildcardStar,vimWildcardBracket + \ oneline + +syn match vimWildcardIntervalNumber contained "\d\+" +syn match vimWildcardInterval contained "\\\\\\{\d\+\%(,\d\+\)\=\\}" contains=vimWildcardIntervalNumber + + +syn match vimWildcardBracket contained "\[\%(\^\=]\=\%(\\.\|\[\([:.=]\)[^:.=]\+\1]\|[^][:space:]]\)*\)\@>]" + \ contains=vimWildcardBracketStart,vimWildcardEscape + +syn match vimWildcardBracketCharacter contained "." nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketHyphen,vimWildcardBracketEnd +syn match vimWildcardBracketRightBracket contained "]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd +syn match vimWildcardBracketHyphen contained "-]\@!" nextgroup=@vimWildcardBracketCharacter +syn match vimWildcardBracketEscape contained "\\." nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketHyphen,vimWildcardBracketEnd +syn match vimWildcardBracketCharacterClass contained "\[:[^:]\+:]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd +syn match vimWildcardBracketEquivalenceClass contained "\[=[^=]\+=]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd +syn match vimWildcardBracketCollatingSymbol contained "\[\.[^.]\+\.]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd + +syn match vimWildcardBracketStart contained "\[" nextgroup=vimWildcardBracketCaret,vimWildcardBracketRightBracket,@vimWildcardBracketCharacter +syn match vimWildcardBracketCaret contained "\^" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketRightBracket +syn match vimWildcardBracketEnd contained "]" + +syn cluster vimWildcardBracketCharacter contains=vimWildcardBracketCharacter,vimWildcardBracketEscape,vimWildcardBracketCharacterClass,vimWildcardBracketEquivalenceClass,vimWildcardBracketCollatingSymbol + +syn match vimWildcardEscape contained "\\." + +syn cluster vimWildcard contains=vimWildcardQuestion,vimWildcardStar,vimWildcardBrace,vimWildcardBracket,vimWildcardInterval + +" Autocmd and Doauto{cmd,all}: {{{2 +" =========================== + +" TODO: explicitly match the {cmd} arg rather than bailing out to TOP +syn region vimAutocmdBlock contained matchgroup=vimSep start="{" end="^\s*\zs}" contains=@vimDefBodyList + +syn match vimAutocmdGroup contained "\%(\\["|[:space:]]\|[^"|[:space:]]\)\+" skipwhite nextgroup=vimAutoEvent,vimAutoEventGlob +syn match vimAutocmdBang contained "\a\@1<=!" skipwhite nextgroup=vimAutocmdGroup,vimAutoEvent,vimAutoEventGlob + +" TODO: cleaner handling of | in pattern position +" : match pattern items in addition to wildcards +syn region vimAutocmdPattern contained + \ start="|\@!\S" + \ skip="\\\\\|\\[,[:space:]]" + \ end="\ze[,[:space:]]" + \ end="$" + \ skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock + \ contains=vimEnvvar,@vimWildcard,vimAutocmdPatternEscape +syn match vimAutocmdBufferPattern contained "" skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock +" trailing pattern separator comma allowed +syn match vimAutocmdPatternSep contained "," skipwhite nextgroup=@vimAutocmdPattern,vimAutocmdMod,vimAutocmdBlock +syn match vimAutocmdPatternEscape contained "\\." +syn cluster vimAutocmdPattern contains=vimAutocmdPattern,vimAutocmdBufferPattern + +" TODO: Vim9 requires '++' prefix +syn match vimAutocmdMod contained "\%(++\)\=\" skipwhite nextgroup=vimAutocmdMod,vimAutocmdBlock +syn match vimAutocmdMod contained "++once\>" skipwhite nextgroup=vimAutocmdMod,vimAutocmdBlock + +" higher priority than vimAutocmdGroup, assume no group is so named +syn match vimAutoEventGlob contained "*" skipwhite nextgroup=@vimAutocmdPattern +syn match vimAutoEventSep contained "\a\@1<=," nextgroup=vimAutoEvent + +syn match vimAutocmd "\" skipwhite nextgroup=vimAutocmdBang,vimAutocmdGroup,vimAutoEvent,vimAutoEventGlob + + +syn match vimDoautocmdMod contained "" skipwhite nextgroup=vimAutocmdGroup,vimAutoEvent +syn match vimDoautocmd "\" skipwhite nextgroup=vimDoautocmdMod,vimAutocmdGroup,vimAutoEvent +syn match vimDoautocmd "\" skipwhite nextgroup=vimDoautocmdMod,vimAutocmdGroup,vimAutoEvent " Echo And Execute: -- prefer strings! {{{2 " ================ @@ -1648,10 +1729,14 @@ if !exists("skip_vim_syntax_inits") hi def link vimAugroupBang vimBang hi def link vimAugroupError vimError hi def link vimAugroupKey vimCommand - hi def link vimAutoCmd vimCommand - hi def link vimAutoCmdBang vimBang + hi def link vimAutocmd vimCommand + hi def link vimAutocmdBang vimBang + hi def link vimAutocmdPatternEscape Special hi def link vimAutoEvent Type - hi def link vimAutoCmdMod Special + hi def link vimAutoEventGlob Type + hi def link vimAutocmdBufferPattern Special + hi def link vimAutocmdMod Special + hi def link vimAutocmdPatternSep vimSep hi def link vimBang vimOper hi def link vimBehaveBang vimBang hi def link vimBehaveModel vimBehave @@ -1677,6 +1762,8 @@ if !exists("skip_vim_syntax_inits") hi def link vimDefParam vimVar hi def link vimDelcommand vimCommand hi def link vimDelcommandAttr vimUserCmdAttr + hi def link vimDoautocmd vimCommand + hi def link vimDoautocmdMod Special hi def link vimEcho vimCommand hi def link vimEchohlNone vimGroup hi def link vimEchohl vimCommand @@ -1892,6 +1979,24 @@ if !exists("skip_vim_syntax_inits") hi def link vimVimVar Identifier hi def link vimVimVarName Identifier hi def link vimWarn WarningMsg + hi def link vimWildcard Special + hi def link vimWildcardBraceComma vimWildcard + hi def link vimWildcardBracket vimWildcard + hi def link vimWildcardBracketCaret vimWildcard + hi def link vimWildcardBracketCharacter Normal + hi def link vimWildcardBracketCharacter Normal + hi def link vimWildcardBracketCharacterClass vimWildCard + hi def link vimWildcardBracketCollatingSymbol vimWildCard + hi def link vimWildcardBracketEnd vimWildcard + hi def link vimWildcardBracketEquivalenceClass vimWildCard + hi def link vimWildcardBracketEscape vimWildcard + hi def link vimWildcardBracketHyphen vimWildcard + hi def link vimWildcardBracketRightBracket vimWildcardBracketCharacter + hi def link vimWildcardBracketStart vimWildcard + hi def link vimWildcardEscape vimWildcard + hi def link vimWildcardInterval vimWildcard + hi def link vimWildcardQuestion vimWildcard + hi def link vimWildcardStar vimWildcard hi def link vim9Abstract vimCommand hi def link vim9Boolean Boolean diff --git a/runtime/syntax/testdir/dumps/vim9_comment_01.dump b/runtime/syntax/testdir/dumps/vim9_comment_01.dump index dbd59d5488..30d3ccf779 100644 --- a/runtime/syntax/testdir/dumps/vim9_comment_01.dump +++ b/runtime/syntax/testdir/dumps/vim9_comment_01.dump @@ -9,7 +9,7 @@ @2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46 |}+0#e000e06&| +0#0000000&@73 @75 -|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*| |{+0#e000e06&| +0#0000000&@52 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&| +0#0000000&|{+0#e000e06&| +0#0000000&@52 | +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51 @2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46 |}+0#e000e06&| +0#0000000&@73 diff --git a/runtime/syntax/testdir/dumps/vim9_ex_comment_strings_01.dump b/runtime/syntax/testdir/dumps/vim9_ex_comment_strings_01.dump index 1fd26e65e2..18f7648fa9 100644 --- a/runtime/syntax/testdir/dumps/vim9_ex_comment_strings_01.dump +++ b/runtime/syntax/testdir/dumps/vim9_ex_comment_strings_01.dump @@ -4,7 +4,7 @@ | +0#0000e05&@1|#| |p|r|e| |"+0#e000002&|s|t|r|i|n|g|"| +0#0000e05&|p|o|s|t| +0#0000000&@53 |}+0#e000e06&| +0#0000000&@73 > @74 -|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*| |{+0#e000e06&| +0#0000000&@52 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&| +0#0000000&|{+0#e000e06&| +0#0000000&@52 | +0#0000e05&@1|#| |p|r|e| |"+0#e000002&|s|t|r|i|n|g|"| +0#0000e05&|p|o|s|t| +0#0000000&@53 |}+0#e000e06&| +0#0000000&@73 |~+0#4040ff13&| @73 diff --git a/runtime/syntax/testdir/dumps/vim9_ex_no_comment_strings_01.dump b/runtime/syntax/testdir/dumps/vim9_ex_no_comment_strings_01.dump index bde4dbc5cb..118fcaf1e7 100644 --- a/runtime/syntax/testdir/dumps/vim9_ex_no_comment_strings_01.dump +++ b/runtime/syntax/testdir/dumps/vim9_ex_no_comment_strings_01.dump @@ -4,7 +4,7 @@ | +0#0000e05&@1|#| |p|r|e| |"|s|t|r|i|n|g|"| |p|o|s|t| +0#0000000&@53 |}+0#e000e06&| +0#0000000&@73 > @74 -|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*| |{+0#e000e06&| +0#0000000&@52 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&| +0#0000000&|{+0#e000e06&| +0#0000000&@52 | +0#0000e05&@1|#| |p|r|e| |"|s|t|r|i|n|g|"| |p|o|s|t| +0#0000000&@53 |}+0#e000e06&| +0#0000000&@73 |~+0#4040ff13&| @73 diff --git a/runtime/syntax/testdir/dumps/vim9_lambda_09.dump b/runtime/syntax/testdir/dumps/vim9_lambda_09.dump index f8b7988910..b0d3e9d1f3 100644 --- a/runtime/syntax/testdir/dumps/vim9_lambda_09.dump +++ b/runtime/syntax/testdir/dumps/vim9_lambda_09.dump @@ -2,7 +2,7 @@ |#+0#0000e05&| |I|s@1|u|e| |#|1|6|9|6|5| |(|v|i|m| |s|y|n|t|a|x|:| |w|r|o|n|g| |h|i|g|h|l|i|g|h|t| |w|i|t|h| |l|a|m|b|d|a|,| |a|u|t|o|l|o|a|d|,| |a|n|d| |f|a|l|s |e| |k|e|y|w|o|r|d|)| +0#0000000&@64 @75 -|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*| |t+0#00e0e07&|i|m|e|r|_|s|t|a|r|t|(+0#e000e06&|0+0#e000002&|,+0#0000000&| |(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|f+0#00e0e07&|#|a|(+0#e000e06&|f+0#e000002&|a|l|s|e|,+0#0000000&| |f+0#e000002&|a|l|s|e|)+0#e000e06&@1| +0#0000000&@16 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&| +0#0000000&|t+0#00e0e07&|i|m|e|r|_|s|t|a|r|t|(+0#e000e06&|0+0#e000002&|,+0#0000000&| |(+0#0000001#ffff4012|_+0#00e0e07#ffffff0|)+0#0000001#ffff4012| +0#0000000#ffffff0|=+0#0000001#ffff4012|>| +0#0000000#ffffff0|f+0#00e0e07&|#|a|(+0#e000e06&|f+0#e000002&|a|l|s|e|,+0#0000000&| |f+0#e000002&|a|l|s|e|)+0#e000e06&@1| +0#0000000&@16 >a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@67 @75 |~+0#4040ff13&| @73 diff --git a/runtime/syntax/testdir/dumps/vim_comment_01.dump b/runtime/syntax/testdir/dumps/vim_comment_01.dump index 6b1234d85e..1bb6e7b780 100644 --- a/runtime/syntax/testdir/dumps/vim_comment_01.dump +++ b/runtime/syntax/testdir/dumps/vim_comment_01.dump @@ -6,7 +6,7 @@ @2>"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46 |}+0#e000e06&| +0#0000000&@73 @75 -|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*| |{+0#e000e06&| +0#0000000&@52 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&| +0#0000000&|{+0#e000e06&| +0#0000000&@52 | +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51 @2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46 |}+0#e000e06&| +0#0000000&@73 diff --git a/runtime/syntax/testdir/dumps/vim_ex_augroup_00.dump b/runtime/syntax/testdir/dumps/vim_ex_augroup_00.dump index 0424482bb0..4ac5e2f6c8 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_augroup_00.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_augroup_00.dump @@ -1,20 +1,20 @@ ->"+0#0000e05#ffffff0| |V|i|m| |:|a|u|g|r|o|u|p| |c|o|m@1|a|n|d| +0#0000000&@52 -@75 -|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|f|o@1| @63 -@2|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*| |e+0#af5f00255&|c|h|o|m|s|g| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@41 -|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @63 -@75 -|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|f|o@1| ||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @38 -|a+0#af5f00255&|u|g|r|o|u|p|!| +0#0000000&|f|o@1| @62 -@75 -|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|!|@|#|$|%|^|&|*|(|)|_|+| @54 -@2|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*| |e+0#af5f00255&|c|h|o|m|s|g| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@41 -|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @63 -@75 -|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|!|@|#|$|%|^|&|*|(|)|_|+| ||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @29 -|a+0#af5f00255&|u|g|r|o|u|p|!| +0#0000000&|!|@|#|$|%|^|&|*|(|)|_|+| @53 -@75 -|"+0#0000e05&| |l|i|s|t| |g|r|o|u|p|s| +0#0000000&@61 -|a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&@67 -@75 -@57|1|,|1| @10|A|l@1| +| +0#0000e05#a8a8a8255@1>"+0&#ffffff0| |V|i|m| |:|a|u|g|r|o|u|p| |c|o|m@1|a|n|d| +0#0000000&@50 +| +0#0000e05#a8a8a8255@1|"+0&#ffffff0| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|v|i|m|s|y|n|_|f|o|l|d|i|n|g| |=| |"+0#e000002&|a|"| +0#0000000&@29 +| +0#0000e05#a8a8a8255@1|"+0&#ffffff0| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |s|e|t|l| |f|d|c|=|2| |f|d|l|=|9@2| |f|d|m|=|s|y|n|t|a|x| +0#0000000&@26 +| +0#0000e05#a8a8a8255@1|"+0&#ffffff0| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |v|i|m|A|u|g|r|o|u|p|N|a|m|e| |T|o|d|o| +0#0000000&@21 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +|-+0#0000e05#a8a8a8255| |a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&|f+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@61 +||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@1|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&@62 +||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@1|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@42 +||+0#0000e05#a8a8a8255| |a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&|E|N|D| @61 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|f+0#0000001#ffff4012|o@1| +0#0000000#ffffff0||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @35 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +0#0000000&|f+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@60 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +|-+0#0000e05#a8a8a8255| |a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&|!+0#0000001#ffff4012|@|#|$|%|^|&|*|(|)|_|+| +0#0000000#ffffff0@52 +||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@1|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o|m|s|g| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@39 +||+0#0000e05#a8a8a8255| |a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&|E|N|D| @61 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|!+0#0000001#ffff4012|@|#|$|%|^|&|*|(|)|_|+| +0#0000000#ffffff0||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @26 +@57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_ex_augroup_01.dump b/runtime/syntax/testdir/dumps/vim_ex_augroup_01.dump new file mode 100644 index 0000000000..c5b2c3784f --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_augroup_01.dump @@ -0,0 +1,20 @@ +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +|-+0#0000e05#a8a8a8255| |a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&|!+0#0000001#ffff4012|@|#|$|%|^|&|*|(|)|_|+| +0#0000000#ffffff0@52 +||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@1|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o|m|s|g| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@39 +||+0#0000e05#a8a8a8255| |a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&|E|N|D| @61 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1>a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|!+0#0000001#ffff4012|@|#|$|%|^|&|*|(|)|_|+| +0#0000000#ffffff0||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @26 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +0#0000000&|!+0#0000001#ffff4012|@|#|$|%|^|&|*|(|)|_|+| +0#0000000#ffffff0@51 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|!+0#0000001#ffff4012|@|#|$|%|^|&|*|(|)|_|+| +0#0000000#ffffff0||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @26 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +0#0000000&|!+0#0000001#ffff4012|@|#|$|%|^|&|*|(|)|_|+| +0#0000000#ffffff0@51 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|n+0#0000001#ffff4012|o|\|||e|c|h|o| +0#0000000#ffffff0||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @30 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +0#0000000&|n+0#0000001#ffff4012|o|\|||e|c|h|o| +0#0000000#ffffff0@55 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|n+0#0000001#ffff4012|o|\|"|e|c|h|o| +0#0000000#ffffff0||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @30 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +0#0000000&|n+0#0000001#ffff4012|o|\|"|e|c|h|o| +0#0000000#ffffff0@55 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|\+0#0000001#ffff4012|||e|c|h|o|\||| +0#0000000#ffffff0||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @30 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +0#0000000&|\+0#0000001#ffff4012|||e|c|h|o|\||| +0#0000000#ffffff0@55 +@57|1|9|,|1| @9|3|6|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_augroup_02.dump b/runtime/syntax/testdir/dumps/vim_ex_augroup_02.dump new file mode 100644 index 0000000000..b85e79d33b --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_augroup_02.dump @@ -0,0 +1,20 @@ +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +0#0000000&|\+0#0000001#ffff4012|||e|c|h|o|\||| +0#0000000#ffffff0@55 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|\+0#0000001#ffff4012|"|e|c|h|o|\|"| +0#0000000#ffffff0||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @30 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +0#0000000&|\+0#0000001#ffff4012|"|e|c|h|o|\|"| +0#0000000#ffffff0@55 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1>a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|\+0#0000001#ffff4012|||\|"| +0#0000000#ffffff0||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @34 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +0#0000000&|\+0#0000001#ffff4012|||\|"| +0#0000000#ffffff0@59 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|\+0#0000001#ffff4012|"|\||| +0#0000000#ffffff0||| |a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&||| |a+0#af5f00255&|u|g|r|o|u|p| +0#0000000&|E|N|D| @34 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +0#0000000&|\+0#0000001#ffff4012|"|\||| +0#0000000#ffffff0@59 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1|"+0&#ffffff0| +0#0000000&|F+0#0000001#ffff4012|I|X|M|E|:+0#e000e06#ffffff0| +0#0000e05&|r|e|q|u|i|r|e|d| |c|o|m@1|e|n|t| |p|r|e|f|i|x| +0#0000000&@40 +|-+0#0000e05#a8a8a8255| |a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|f+0#0000001#ffff4012|o@1|"+0#0000000#ffffff0|c|o|m@1|e|n|t| @3|"+0#0000e05&| |s|t|a|r|t| |b|a|d| |f|o|l|d| +0#0000000&@32 +||+0#0000e05#a8a8a8255| |a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@1|f+0#0000001#ffff4012|o@1||+0#0000000#ffffff0|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@49 +||+0#0000e05#a8a8a8255| |a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&|E|N|D| @12|"+0#0000e05&| |t|e|r|m|i|n|a|t|e| |b|a|d| |f|o|l|d| +0#0000000&@28 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +0#0000000&|f+0#0000001#ffff4012|o@1|"+0#0000000#ffffff0|c|o|m@1|e|n|t| @52 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p|!| +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&@49 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +@57|3|7|,|1| @9|8|6|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_augroup_03.dump b/runtime/syntax/testdir/dumps/vim_ex_augroup_03.dump new file mode 100644 index 0000000000..8f296faada --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_augroup_03.dump @@ -0,0 +1,20 @@ +| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72 +| +0#0000e05#a8a8a8255@1|"+0&#ffffff0| |l|i|s|t| |g|r|o|u|p|s| +0#0000000&@59 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&@65 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@52 +| +0#0000e05#a8a8a8255@1|a+0#af5f00255#ffffff0|u|g|r|o|u|p| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@55 +| +0#0000e05#a8a8a8255@1> +0#0000000#ffffff0@72 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +| +0#0000000&@56|5@1|,|0|-|1| @7|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_00.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_00.dump new file mode 100644 index 0000000000..13dbfc626d --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_00.dump @@ -0,0 +1,20 @@ +>"+0#0000e05#ffffff0| |V|i|m| |:|a|u|t|o|c|m|d| |c|o|m@1|a|n|d| +0#0000000&@52 +|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |v|i|m|A|u|t|o|C|m|d|G|r|o|u|p| |T|o|d|o| +0#0000000&@27 +|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |v|i|m|U|s|e|r|A|u|t|o|E|v|e|n|t| |T|i|t|l|e| +0#0000000&@25 +@75 +@75 +|"+0#0000e05&| |D|e|f|i|n|e| +0#0000000&@66 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|*+0#e000e06&|.+0#0000000&|t|x|t| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@9 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|*+0#e000e06&|.+0#0000000&|t|x|t| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@9 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d|,+0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@9 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @5|*+0#e000e06&|.+0#0000000&|t|x|t| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@9 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@2 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@2 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d|,+0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@2 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @5|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@2 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000& +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000& +@57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_01.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_01.dump new file mode 100644 index 0000000000..1f54e2719b --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_01.dump @@ -0,0 +1,20 @@ +|a+0#af5f00255#ffffff0|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@2 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d|,+0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@2 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @5|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@2 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000& +>a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000& +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d|,+0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000& +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @5|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000& +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o +| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@68 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o +| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@68 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d|,+0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o +| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@68 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @5|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o +| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@68 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@5|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|@+0#4040ff13&@2 +| +0#0000000&@56|1|9|,|1| @10|5|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_02.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_02.dump new file mode 100644 index 0000000000..fa775dc6eb --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_02.dump @@ -0,0 +1,20 @@ +|a+0#af5f00255#ffffff0|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@5|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|<+0#e000e06&|b|u|f@1|e|r|=|4|2|>| +0#0000000&@2|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|<+0#e000e06&|b|u|f@1|e|r|=|a|b|u|f|>| +0#0000000&|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +>a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@5|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|<+0#e000e06&|b|u|f@1|e|r|=|4|2|>| +0#0000000&@2|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|<+0#e000e06&|b|u|f@1|e|r|=|a|b|u|f|>| +0#0000000&|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d|,+0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@5|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d|,+0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|=|4|2|>| +0#0000000&@2|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d|,+0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|=|a|b|u|f|>| +0#0000000&|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @5|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@5|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|@+0#4040ff13&@2 +| +0#0000000&@56|3|1|,|1| @9|1|0|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_03.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_03.dump new file mode 100644 index 0000000000..4966993c7a --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_03.dump @@ -0,0 +1,20 @@ +|a+0#af5f00255#ffffff0|u|t|o|c|m|d| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @5|<+0#e000e06&|b|u|f@1|e|r|>| +0#0000000&@5|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @5|<+0#e000e06&|b|u|f@1|e|r|=|4|2|>| +0#0000000&@2|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @5|<+0#e000e06&|b|u|f@1|e|r|=|a|b|u|f|>| +0#0000000&|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +> @74 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@11|f|<|b|u|f@1|e|r|>|o@1| @2|++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1 +|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@60 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| |{+0#e000e06&| +0#0000000&@51 +@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@62 +@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@62 +|}+0#e000e06&| +0#0000000&@73 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d|,+0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| |{+0#e000e06&| +0#0000000&@40 +@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@62 +@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@62 +|}+0#e000e06&| +0#0000000&@73 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| |{+0#e000e06&| +0#0000000&@45 +@57|4|0|,|0|-|1| @7|1|4|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_04.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_04.dump new file mode 100644 index 0000000000..50bcd38911 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_04.dump @@ -0,0 +1,20 @@ +|a+0#af5f00255#ffffff0|u|t|o|c|m|d| +0#0000000&|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| |{+0#e000e06&| +0#0000000&@45 +@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@62 +@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@62 +|}+0#e000e06&| +0#0000000&@73 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| |{+0#e000e06&| +0#0000000&@42 +@2>e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@62 +@2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@62 +|}+0#e000e06&| +0#0000000&@73 +@75 +@75 +|"+0#0000e05&| |M|u|l|t|i|l|i|n|e| |{|c|m|d|}| |a|r|g| +0#0000000&@53 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@42 +@6|\+0#e000e06&||+0#0000000&| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@55 +@6|\+0#e000e06&||+0#0000000&| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@55 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| @40 +@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&||| @54 +@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@56 +@57|5|6|,|3| @9|2|0|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_05.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_05.dump new file mode 100644 index 0000000000..7cf99da4d5 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_05.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@56 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @53 +@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| @54 +@6>"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@56 +@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6|\+0#e000e06&||+0#0000000&| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@55 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d|,+0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @42 +@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| @54 +@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@56 +@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6|\+0#e000e06&||+0#0000000&| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@55 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| @47 +@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@57|7|4|,|7| @9|2|7|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_06.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_06.dump new file mode 100644 index 0000000000..366d71c841 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_06.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@5|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| @54 +@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@56 +@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6>\+0#e000e06&||+0#0000000&| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@55 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @44 +@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| @54 +@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@56 +@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58 +@6|\+0#e000e06&||+0#0000000&| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|z|"| +0#0000000&@55 +@75 +@75 +|"+0#0000e05&| |M|u|l|t|i|p|l|e| |p|a|t@1|e|r|n|s| +0#0000000&@55 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t|,+0#e000e06&|*|.+0#0000000&|v|i|m|,+0#e000e06&|*|.+0#0000000&|c| @5|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@14 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>|,|*|.+0#0000000&|v|i|m|,+0#e000e06&|*|.+0#0000000&|c| @2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@14 +@57|9|2|,|7| @9|3|5|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_07.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_07.dump new file mode 100644 index 0000000000..34546f1d4e --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_07.dump @@ -0,0 +1,20 @@ +|a+0#af5f00255#ffffff0|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|>|,|*|.+0#0000000&|v|i|m|,+0#e000e06&|*|.+0#0000000&|c| @2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@14 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t|,+0#e000e06&|<|b|u|f@1|e|r|>|,|*|.+0#0000000&|c| @2|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@14 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t|,+0#e000e06&|*|.+0#0000000&|v|i|m|,+0#e000e06&|<|b|u|f@1|e|r|>| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@14 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|<+0#e000e06&|b|u|f@1|e|r|=|1|>|,|<|b|u|f@1|e|r|=|2|>|,|<|b|u|f@1|e|r|=|3|>| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a|r|"| +0#0000000&@2 +> @74 +@75 +|"+0#0000e05&| +0#0000000&|F+0#0000001#ffff4012|I|X|M|E|:+0#e000e06#ffffff0| +0#0000e05&|"|B|u|f|R|e|a|d|"| |a|n|d| |"+0#e000002&|*|"| +0#0000e05&|a|r|e| |v|a|l|i|d| |g|r|o|u|p| |n|a|m|e|s|,| |h|o|w|e|v|e|r|,| |:|h|e|l|p| |:|a|u|g|r|o|u|p| +0#0000000&@1 +|"+0#0000e05&| |e|x|p|l|i|c|i|t|l|y| |d|i|r|e|c|t|s| |t|h|e| |u|s|e|r| |N|O|T| |t|o| |s|h|a|d|o|w| |e|v|e|n|t| |n|a|m|e|s| |w|i|t|h| |g|r|o|u|p| |n|a|m|e|s| +0#0000000&@2 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|B|u|f|R|e|a|d| |*+0#af5f00255&|.|t+0#0000000&|x|t| |++0#af5f00255&@1|o+0#0000000&|n|c|e| |++0#af5f00255&@1|n+0#0000000&|e|s|t|e|d| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@18 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|*+0#00e0003&| +0#0000000&@6|B|u|f|R|e|a|d| |*+0#af5f00255&|.|t+0#0000000&|x|t| |++0#af5f00255&@1|o+0#0000000&|n|c|e| |++0#af5f00255&@1|n+0#0000000&|e|s|t|e|d| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@18 +@75 +@75 +|"+0#0000e05&| |R|e|m|o|v|e| +0#0000000&@66 +@75 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@6|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a +|r|"| +0#0000000&@72 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@6|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a +|r|"| +0#0000000&@72 +@57|1@1|0|,|0|-|1| @6|4|2|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_08.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_08.dump new file mode 100644 index 0000000000..f4bad3ab63 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_08.dump @@ -0,0 +1,20 @@ +|a+0#af5f00255#ffffff0|u|t|o|c|m|d|!| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@6|*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a +|r|"| +0#0000000&@72 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&|f|o@1|g|r|o|u|p| |U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a +|r|"| +0#0000000&@72 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| |++0#e000e06&@1|o|n|c|e| +0#0000000&|++0#e000e06&@1|n|e|s|t|e|d| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|B|a +|r|"| +0#0000000&@72 +> @74 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@6|*+0#e000e06&|.+0#0000000&|t|x|t| @37 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@6|*+0#e000e06&|.+0#0000000&|t|x|t| @37 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&|f|o@1|g|r|o|u|p| |U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| @37 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| @37 +@75 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&|f|o@1|g|r|o|u|p| |*+0#00e0003&| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @49 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&@9|*+0#00e0003&| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @49 +@75 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@49 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@49 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&|f|o@1|g|r|o|u|p| |U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @43 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @43 +@57|1|2|4|,|0|-|1| @6|4|8|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_09.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_09.dump new file mode 100644 index 0000000000..a2c6395753 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_09.dump @@ -0,0 +1,20 @@ +|a+0#af5f00255#ffffff0|u|t|o|c|m|d|!| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @43 +@75 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&|f|o@1|g|r|o|u|p| @57 +|a+0#af5f00255&|u|t|o|c|m|d|!| +0#0000000&@66 +@75 +>"+0#0000e05&| |c|o|m@1|a|n|d| |-|>| |b|a|n|g| |-|>| |g|r|o|u|p| |"+0#e000002&|!|f|o@1|g|r|o|u|p|!|"| +0#0000000&@35 +|a+0#af5f00255&|u|t|o|c|m|d|!|!+0#0000000&|f|o@1|g|r|o|u|p|!| @56 +|"+0#0000e05&| |c|o|m@1|a|n|d| |-|>| |b|a|n|g| |-|>| |g|r|o|u|p| |"+0#e000002&|f|o@1|g|r|o|u|p|"| +0#0000000&@37 +|a+0#af5f00255&|u|t|o|c|m|d|!|f+0#0000000&|o@1|g|r|o|u|p| @58 +|"+0#0000e05&| |c|o|m@1|a|n|d| |-|>| |b|a|n|g| |-|>| |e|v|e|n|t| +0#0000000&@48 +|a+0#af5f00255&|u|t|o|c|m|d|!|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@59 +|"+0#0000e05&| |c|o|m@1|a|n|d| |-|>| |b|a|n|g| |-|>| |u|s|e|r| |e|v|e|n|t| +0#0000000&@43 +|a+0#af5f00255&|u|t|o|c|m|d|!|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @53 +@75 +|"+0#0000e05&| +0#0000000&|F+0#0000001#ffff4012|I|X|M|E|:+0#e000e06#ffffff0| +0#0000e05&|"|*|"| |a|n|d| |"+0#e000002&|B|u|f|R|e|a|d|"| +0#0000e05&|a|r|e| |v|a|l|i|d| |g|r|o|u|p| |n|a|m|e|s|,| |h|o|w|e|v|e|r|,| |:|h|e|l|p| |:|a|u|g|r|o|u|p| +0#0000000&@1 +|"+0#0000e05&| |e|x|p|l|i|c|i|t|l|y| |d|i|r|e|c|t|s| |t|h|e| |u|s|e|r| |N|O|T| |t|o| |s|h|a|d|o|w| |e|v|e|n|t| |n|a|m|e|s| +0#0000000&@19 +|"+0#0000e05&| |c|o|m@1|a|n|d| |-|>| |g|r|o|u|p| |"+0#e000002&|*|"| +0#0000e05&|-|>| |e|v|e|n|t| |g|l|o|b| |-|>| |p|a|t@1|e|r|n| +0#0000000&@27 +|a+0#af5f00255&|u|t|o|c|m|d|!|*+0#00e0003&| +0#0000000&|*+0#e000e06&| +0#0000000&|*+0#af5f00255&|.|t+0#0000000&|x|t| @57 +|"+0#0000e05&| |c|o|m@1|a|n|d| |-|>| |g|r|o|u|p| |"+0#e000002&|B|u|f|R|e|a|d|"| +0#0000e05&|-|>| |e|v|e|n|t| |"+0#e000002&|B|u|f|R|e|a|d|"| +0#0000e05&|-|>| |p|a|t@1|e|r|n| +0#0000000&@16 +@57|1|4|1|,|1| @8|5@1|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_10.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_10.dump new file mode 100644 index 0000000000..9179f30e7c --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_10.dump @@ -0,0 +1,20 @@ +|"+0#0000e05#ffffff0| |c|o|m@1|a|n|d| |-|>| |g|r|o|u|p| |"+0#e000002&|B|u|f|R|e|a|d|"| +0#0000e05&|-|>| |e|v|e|n|t| |"+0#e000002&|B|u|f|R|e|a|d|"| +0#0000e05&|-|>| |p|a|t@1|e|r|n| +0#0000000&@16 +|a+0#af5f00255&|u|t|o|c|m|d|!|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|B|u|f|R|e|a|d| |*+0#af5f00255&|.|t+0#0000000&|x|t| @45 +@75 +@75 +|"+0#0000e05&| |L|i|s|t| +0#0000000&@68 +> @74 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@6|*+0#e000e06&|.+0#0000000&|t|x|t| @38 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@6|*+0#e000e06&|.+0#0000000&|t|x|t| @38 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| @38 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| @38 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |*+0#00e0003&| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @50 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|*+0#00e0003&| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @50 +@75 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@50 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@50 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @44 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@9|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @44 +@75 +@57|1|5|9|,|0|-|1| @6|6|2|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_11.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_11.dump new file mode 100644 index 0000000000..73ce7402d1 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_11.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@74 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| @58 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&@67 +@75 +@75 +>"+0#0000e05&| |:|d|o|a|u|t|o|a|l@1| +0#0000000&@62 +@75 +|d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@57 +@75 +|d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @51 +|d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@48 +|d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@44 +@75 +|d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @29 +@75 +|d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @51 +@75 +|d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| @45 +|d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|f|o@1|g|r|o|u|p| |U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @42 +@57|1|7@1|,|1| @8|6|9|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_12.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_12.dump new file mode 100644 index 0000000000..aac1eeaed3 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_12.dump @@ -0,0 +1,20 @@ +|d+0#af5f00255#ffffff0|o|a|u|t|o|a|l@1| +0#0000000&|f|o@1|g|r|o|u|p| |U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @42 +|d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @38 +@75 +|d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|f|o@1|g|r|o|u|p| |U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| @23 +@75 +>d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| ||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@16 +|d+0#af5f00255&|o|a|u|t|o|a|l@1| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| |"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@19 +@75 +@75 +|"+0#0000e05&| |:|d|o|a|u|t|o|c|m|d| +0#0000000&@62 +@75 +|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@57 +@75 +|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @51 +|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@48 +|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&@44 +@75 +|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @29 +@75 +@57|1|9|5|,|1| @8|7@1|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_13.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_13.dump new file mode 100644 index 0000000000..52ccbca9be --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_13.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@74 +|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @51 +@75 +|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| @45 +|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|f|o@1|g|r|o|u|p| |U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @42 +>d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| @38 +@75 +|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|f|o@1|g|r|o|u|p| |U+0#00e0003&|s|e|r| +0#0000000&|F|o@1|E|v|e|n|t| |*+0#e000e06&|.+0#0000000&|t|x|t| @23 +@75 +|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| ||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@16 +|d+0#af5f00255&|o|a|u|t|o|c|m|d| +0#0000000&|<+0#e000e06&|n|o|m|o|d|e|l|i|n|e|>| +0#0000000&|f|o@1|g|r|o|u|p| |B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| ||| |"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@17 +@75 +@75 +|"+0#0000e05&| |p|a|t@1|e|r|n|s| +0#0000000&@64 +@75 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t| @56 +@75 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|*+0#e000e06&| +0#0000000&@58 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|?+0#e000e06&@2| +0#0000000&@56 +@57|2|1|3|,|1| @8|8|4|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_14.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_14.dump new file mode 100644 index 0000000000..3d126cf167 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_14.dump @@ -0,0 +1,20 @@ +|a+0#af5f00255#ffffff0|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|?+0#e000e06&@2| +0#0000000&@56 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|t+0#0000000&|]+0#e000e06&|[|x+0#0000000&|]+0#e000e06&|t+0#0000000&| @52 +@75 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|a+0#0000000&|-+0#e000e06&|z+0#0000000&|]+0#e000e06&|[|a+0#0000000&|-+0#e000e06&|z+0#0000000&|]+0#e000e06&|t+0#0000000&| @48 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&@1|:|a|l|p|h|a|:|]|[|:|a|l|p|h|a|:|]@1|t+0#0000000&| @38 +> @74 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|t+0#0000000&|x|]+0#e000e06&|\@2|{|2+0#0000000&|\+0#e000e06&|}|t+0#0000000&| @47 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|a+0#0000000&|-+0#e000e06&|z+0#0000000&|]+0#e000e06&|\@2|{|2+0#0000000&|\+0#e000e06&|}|t+0#0000000&| @46 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&@1|:|a|l|p|h|a|:|]@1|\@2|{|2+0#0000000&|\+0#e000e06&|}|t+0#0000000&| @40 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|^|[|:|p|u|n|c|t|:|]@1|\@2|{|2+0#0000000&|\+0#e000e06&|}|t+0#0000000&| @39 +@75 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|]+0#0000000&|]+0#e000e06&|x+0#0000000&|t| @54 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|^|]+0#0000000&|]+0#e000e06&|x+0#0000000&|t| @53 +@75 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|t+0#0000000&|\+0#e000e06&|]@1|x+0#0000000&|t| @52 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|^|t+0#0000000&|\+0#e000e06&|]@1|x+0#0000000&|t| @51 +@75 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|[+0#0000000&|]+0#e000e06&|x+0#0000000&|t| @54 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|^|[+0#0000000&|]+0#e000e06&|x+0#0000000&|t| @53 +@57|2|3|1|,|0|-|1| @6|9|1|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_15.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_15.dump new file mode 100644 index 0000000000..b76c20b1eb --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_15.dump @@ -0,0 +1,20 @@ +|a+0#af5f00255#ffffff0|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|^|[+0#0000000&|]+0#e000e06&|x+0#0000000&|t| @53 +@75 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|-+0#0000000&|]+0#e000e06&|x+0#0000000&|t| @54 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|^|-+0#0000000&|]+0#e000e06&|x+0#0000000&|t| @53 +@75 +>a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|-+0#0000000&|t|-|]+0#e000e06&|x+0#0000000&|t| @52 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|^|-+0#0000000&|t|-|]+0#e000e06&|x+0#0000000&|t| @51 +@75 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|\|^|]|x+0#0000000&|t| @53 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[+0#e000e06&|^|^+0#0000000&|]+0#e000e06&|x+0#0000000&|t| @53 +@75 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|t|x|t|,+0#e000e06&|*|/+0#0000000&|*+0#e000e06&|.+0#0000000&|v|i|m| @48 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|{+0#e000e06&|t+0#0000000&|x|t|,+0#e000e06&|v+0#0000000&|i|m|}+0#e000e06&| +0#0000000&@50 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|{+0#e000e06&|t+0#0000000&|{+0#e000e06&|x+0#0000000&|,+0#e000e06&|t+0#0000000&|}+0#e000e06&|,|v+0#0000000&|{+0#e000e06&|i+0#0000000&|,+0#e000e06&|m+0#0000000&|}+0#e000e06&@1| +0#0000000&@44 +@75 +|"+0#0000e05&| |l|i|t|e|r|a|l| +0#0000000&@65 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[|]|x|t| @55 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[|\+0#e000e06&|]|x+0#0000000&|t| @54 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[|^|]|x|t| @54 +@57|2|4|9|,|1| @8|9@1|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_autocmd_16.dump b/runtime/syntax/testdir/dumps/vim_ex_autocmd_16.dump new file mode 100644 index 0000000000..932e103afb --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_ex_autocmd_16.dump @@ -0,0 +1,20 @@ +|a+0#af5f00255#ffffff0|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[|^|]|x|t| @54 +|a+0#af5f00255&|u| +0#0000000&|B+0#00e0003&|u|f|R|e|a|d| +0#0000000&|*+0#e000e06&|/+0#0000000&|*+0#e000e06&|.+0#0000000&|[|^|\+0#e000e06&|]|x+0#0000000&|t| @53 +> @74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +| +0#0000000&@56|2|6|4|,|0|-|1| @6|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim_ex_comment_strings_00.dump b/runtime/syntax/testdir/dumps/vim_ex_comment_strings_00.dump index 9500d073d9..2cdc33cb5a 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_comment_strings_00.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_comment_strings_00.dump @@ -15,6 +15,6 @@ | +0#0000e05&@1|#| |p|r|e| |"+0#e000002&|s|t|r|i|n|g|"| +0#0000e05&|p|o|s|t| +0#0000000&@53 |}+0#e000e06&| +0#0000000&@73 @75 -|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*| |{+0#e000e06&| +0#0000000&@52 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&| +0#0000000&|{+0#e000e06&| +0#0000000&@52 | +0#0000e05&@1|#| |p|r|e| |"+0#e000002&|s|t|r|i|n|g|"| +0#0000e05&|p|o|s|t| +0#0000000&@53 @57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_ex_comment_strings_01.dump b/runtime/syntax/testdir/dumps/vim_ex_comment_strings_01.dump index 2dc2425f25..6f6d7cfd41 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_comment_strings_01.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_comment_strings_01.dump @@ -2,7 +2,7 @@ | +0#0000e05&@1|#| |p|r|e| |"+0#e000002&|s|t|r|i|n|g|"| +0#0000e05&|p|o|s|t| +0#0000000&@53 |}+0#e000e06&| +0#0000000&@73 @75 -|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*| |{+0#e000e06&| +0#0000000&@52 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&| +0#0000000&|{+0#e000e06&| +0#0000000&@52 | +0#0000e05&@1>#| |p|r|e| |"+0#e000002&|s|t|r|i|n|g|"| +0#0000e05&|p|o|s|t| +0#0000000&@53 |}+0#e000e06&| +0#0000000&@73 |~+0#4040ff13&| @73 diff --git a/runtime/syntax/testdir/dumps/vim_ex_no_comment_strings_00.dump b/runtime/syntax/testdir/dumps/vim_ex_no_comment_strings_00.dump index 245eab66c3..1a679d8bf5 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_no_comment_strings_00.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_no_comment_strings_00.dump @@ -15,6 +15,6 @@ | +0#0000e05&@1|#| |p|r|e| |"|s|t|r|i|n|g|"| |p|o|s|t| +0#0000000&@53 |}+0#e000e06&| +0#0000000&@73 @75 -|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*| |{+0#e000e06&| +0#0000000&@52 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&| +0#0000000&|{+0#e000e06&| +0#0000000&@52 | +0#0000e05&@1|#| |p|r|e| |"|s|t|r|i|n|g|"| |p|o|s|t| +0#0000000&@53 @57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_ex_no_comment_strings_01.dump b/runtime/syntax/testdir/dumps/vim_ex_no_comment_strings_01.dump index 5bf3cf1fd0..5b21c0e9eb 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_no_comment_strings_01.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_no_comment_strings_01.dump @@ -2,7 +2,7 @@ | +0#0000e05&@1|#| |p|r|e| |"|s|t|r|i|n|g|"| |p|o|s|t| +0#0000000&@53 |}+0#e000e06&| +0#0000000&@73 @75 -|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*| |{+0#e000e06&| +0#0000000&@52 +|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*+0#e000e06&| +0#0000000&|{+0#e000e06&| +0#0000000&@52 | +0#0000e05&@1>#| |p|r|e| |"|s|t|r|i|n|g|"| |p|o|s|t| +0#0000000&@53 |}+0#e000e06&| +0#0000000&@73 |~+0#4040ff13&| @73 diff --git a/runtime/syntax/testdir/input/vim_ex_augroup.vim b/runtime/syntax/testdir/input/vim_ex_augroup.vim index 2dae59dda5..aa13d979e4 100644 --- a/runtime/syntax/testdir/input/vim_ex_augroup.vim +++ b/runtime/syntax/testdir/input/vim_ex_augroup.vim @@ -1,19 +1,55 @@ " Vim :augroup command +" VIM_TEST_SETUP let g:vimsyn_folding = "a" +" VIM_TEST_SETUP setl fdc=2 fdl=999 fdm=syntax +" VIM_TEST_SETUP highlight link vimAugroupName Todo + augroup foo - autocmd BufRead * echomsg "Foo" + autocmd! + autocmd BufRead * echo "Foo" augroup END -augroup foo | autocmd! | augroup END +augroup foo | autocmd! | augroup END augroup! foo augroup !@#$%^&*()_+ autocmd BufRead * echomsg "Foo" augroup END -augroup !@#$%^&*()_+ | autocmd! | augroup END +augroup !@#$%^&*()_+ | autocmd! | augroup END augroup! !@#$%^&*()_+ +augroup !@#$%^&*()_+ | autocmd! | augroup END +augroup! !@#$%^&*()_+ + +augroup no\|echo | autocmd! | augroup END +augroup! no\|echo + +augroup no\"echo | autocmd! | augroup END +augroup! no\"echo + +augroup \|echo\| | autocmd! | augroup END +augroup! \|echo\| + +augroup \"echo\" | autocmd! | augroup END +augroup! \"echo\" + +augroup \|\" | autocmd! | augroup END +augroup! \|\" + +augroup \"\| | autocmd! | augroup END +augroup! \"\| + +" FIXME: required comment prefix +augroup foo"comment " start bad fold +augroup foo|echo "Foo" +augroup END " terminate bad fold +augroup! foo"comment +augroup! foo|echo "Foo" + + " list groups augroup +augroup | echo "Foo" +augroup " comment diff --git a/runtime/syntax/testdir/input/vim_ex_autocmd.vim b/runtime/syntax/testdir/input/vim_ex_autocmd.vim new file mode 100644 index 0000000000..162f9337db --- /dev/null +++ b/runtime/syntax/testdir/input/vim_ex_autocmd.vim @@ -0,0 +1,264 @@ +" Vim :autocmd command +" VIM_TEST_SETUP highlight vimAutoCmdGroup Todo +" VIM_TEST_SETUP highlight vimUserAutoEvent Title + + +" Define + +autocmd foogroup BufRead *.txt echo "Foo" | echo "Bar" +autocmd BufRead *.txt echo "Foo" | echo "Bar" +autocmd BufRead,BufNewFile *.txt echo "Foo" | echo "Bar" +autocmd User FooEvent *.txt echo "Foo" | echo "Bar" + +autocmd foogroup BufRead *.txt ++once echo "Foo" | echo "Bar" +autocmd BufRead *.txt ++once echo "Foo" | echo "Bar" +autocmd BufRead,BufNewFile *.txt ++once echo "Foo" | echo "Bar" +autocmd User FooEvent *.txt ++once echo "Foo" | echo "Bar" + +autocmd foogroup BufRead *.txt ++nested echo "Foo" | echo "Bar" +autocmd BufRead *.txt ++nested echo "Foo" | echo "Bar" +autocmd BufRead,BufNewFile *.txt ++nested echo "Foo" | echo "Bar" +autocmd User FooEvent *.txt ++nested echo "Foo" | echo "Bar" + +autocmd foogroup BufRead *.txt ++once ++nested echo "Foo" | echo "Bar" +autocmd BufRead *.txt ++once ++nested echo "Foo" | echo "Bar" +autocmd BufRead,BufNewFile *.txt ++once ++nested echo "Foo" | echo "Bar" +autocmd User FooEvent *.txt ++once ++nested echo "Foo" | echo "Bar" + +autocmd foogroup BufRead ++once ++nested echo "Foo" | echo "Bar" +autocmd foogroup BufRead ++once ++nested echo "Foo" | echo "Bar" +autocmd foogroup BufRead ++once ++nested echo "Foo" | echo "Bar" +autocmd BufRead ++once ++nested echo "Foo" | echo "Bar" +autocmd BufRead ++once ++nested echo "Foo" | echo "Bar" +autocmd BufRead ++once ++nested echo "Foo" | echo "Bar" +autocmd BufRead,BufNewFile ++once ++nested echo "Foo" | echo "Bar" +autocmd BufRead,BufNewFile ++once ++nested echo "Foo" | echo "Bar" +autocmd BufRead,BufNewFile ++once ++nested echo "Foo" | echo "Bar" +autocmd User FooEvent ++once ++nested echo "Foo" | echo "Bar" +autocmd User FooEvent ++once ++nested echo "Foo" | echo "Bar" +autocmd User FooEvent ++once ++nested echo "Foo" | echo "Bar" + +autocmd foogroup BufRead foo ++once ++nested echo "Foo" | echo "Bar" + +autocmd BufRead *.txt { + echo "Foo" + echo "Bar" +} +autocmd BufRead,BufNewFile *.txt { + echo "Foo" + echo "Bar" +} +autocmd User FooEvent *.txt { + echo "Foo" + echo "Bar" +} +autocmd foogroup BufRead *.txt { + echo "Foo" + echo "Bar" +} + + +" Multiline {cmd} arg + +autocmd BufRead *.txt echo "Foo" + \| echo "Bar" + \| echo "Baz" + +autocmd BufRead *.txt echo "Foo" | + \ echo "Bar" | + \ echo "Baz" + +autocmd BufRead *.txt + "\ comment + \ echo "Foo" | + "\ comment + \ echo "Bar" + "\ comment + \| echo "Baz" + +autocmd BufRead,BufNewFile *.txt + "\ comment + \ echo "Foo" | + "\ comment + \ echo "Bar" + "\ comment + \| echo "Baz" +autocmd User FooEvent *.txt + "\ comment + \ echo "Foo" | + "\ comment + \ echo "Bar" + "\ comment + \| echo "Baz" +autocmd foogroup BufRead *.txt + "\ comment + \ echo "Foo" | + "\ comment + \ echo "Bar" + "\ comment + \| echo "Baz" + + +" Multiple patterns + +autocmd BufRead *.txt,*.vim,*.c echo "Foo" | echo "Bar" +autocmd BufRead ,*.vim,*.c echo "Foo" | echo "Bar" +autocmd BufRead *.txt,,*.c echo "Foo" | echo "Bar" +autocmd BufRead *.txt,*.vim, echo "Foo" | echo "Bar" + +autocmd BufRead ,, echo "Foo" | echo "Bar" + + +" FIXME: "BufRead" and "*" are valid group names, however, :help :augroup +" explicitly directs the user NOT to shadow event names with group names +autocmd BufRead BufRead *.txt ++once ++nested echo "Foo" +autocmd * BufRead *.txt ++once ++nested echo "Foo" + + +" Remove + +autocmd! foogroup BufRead *.txt ++once ++nested echo "Foo" | echo "Bar" +autocmd! BufRead *.txt ++once ++nested echo "Foo" | echo "Bar" +autocmd! foogroup User FooEvent *.txt ++once ++nested echo "Foo" | echo "Bar" +autocmd! User FooEvent *.txt ++once ++nested echo "Foo" | echo "Bar" + +autocmd! foogroup BufRead *.txt +autocmd! BufRead *.txt +autocmd! foogroup User FooEvent *.txt +autocmd! User FooEvent *.txt + +autocmd! foogroup * *.txt +autocmd! * *.txt + +autocmd! foogroup BufRead +autocmd! BufRead +autocmd! foogroup User FooEvent +autocmd! User FooEvent + +autocmd! foogroup +autocmd! + +" command -> bang -> group "!foogroup!" +autocmd!!foogroup! +" command -> bang -> group "foogroup" +autocmd!foogroup +" command -> bang -> event +autocmd!BufRead +" command -> bang -> user event +autocmd!User FooEvent + +" FIXME: "*" and "BufRead" are valid group names, however, :help :augroup +" explicitly directs the user NOT to shadow event names +" command -> group "*" -> event glob -> pattern +autocmd!* * *.txt +" command -> group "BufRead" -> event "BufRead" -> pattern +autocmd!BufRead BufRead *.txt + + +" List + +autocmd foogroup BufRead *.txt +autocmd BufRead *.txt +autocmd foogroup User FooEvent *.txt +autocmd User FooEvent *.txt + +autocmd foogroup * *.txt +autocmd * *.txt + +autocmd foogroup BufRead +autocmd BufRead +autocmd foogroup User FooEvent +autocmd User FooEvent + +autocmd foogroup +autocmd + + +" :doautoall + +doautoall BufRead + +doautoall BufRead *.txt +doautoall foogroup BufRead +doautoall BufRead + +doautoall foogroup BufRead *.txt + +doautoall User FooEvent + +doautoall User FooEvent *.txt +doautoall foogroup User FooEvent +doautoall User FooEvent + +doautoall foogroup User FooEvent *.txt + +doautoall foogroup BufRead *.txt | echo "Foo" +doautoall foogroup BufRead *.txt " comment + + +" :doautocmd + +doautocmd BufRead + +doautocmd BufRead *.txt +doautocmd foogroup BufRead +doautocmd BufRead + +doautocmd foogroup BufRead *.txt + +doautocmd User FooEvent + +doautocmd User FooEvent *.txt +doautocmd foogroup User FooEvent +doautocmd User FooEvent + +doautocmd foogroup User FooEvent *.txt + +doautocmd foogroup BufRead *.txt | echo "Foo" +doautocmd foogroup BufRead *.txt | " comment + + +" patterns + +au BufRead */*.txt + +au BufRead */*.* +au BufRead */*.??? +au BufRead */*.[t][x]t + +au BufRead */*.[a-z][a-z]t +au BufRead */*.[[:alpha:][:alpha:]]t + +au BufRead */*.[tx]\\\{2\}t +au BufRead */*.[a-z]\\\{2\}t +au BufRead */*.[[:alpha:]]\\\{2\}t +au BufRead */*.[^[:punct:]]\\\{2\}t + +au BufRead */*.[]]xt +au BufRead */*.[^]]xt + +au BufRead */*.[t\]]xt +au BufRead */*.[^t\]]xt + +au BufRead */*.[[]xt +au BufRead */*.[^[]xt + +au BufRead */*.[-]xt +au BufRead */*.[^-]xt + +au BufRead */*.[-t-]xt +au BufRead */*.[^-t-]xt + +au BufRead */*.[\^]xt +au BufRead */*.[^^]xt + +au BufRead */*.txt,*/*.vim +au BufRead */*.{txt,vim} +au BufRead */*.{t{x,t},v{i,m}} + +" literal +au BufRead */*.[]xt +au BufRead */*.[\]xt +au BufRead */*.[^]xt +au BufRead */*.[^\]xt + diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index 6ab723106d..47ff1b4097 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 Apr 10 +" Last Change: 2025 Apr 23 " Former Maintainer: Charles E. Campbell " DO NOT CHANGE DIRECTLY. @@ -114,9 +114,12 @@ syn keyword vimErrSetting contained invakm invaltkeymap invanti invantialias inv " AutoCmd Events {{{2 syn case ignore -" GEN_SYN_VIM: vimAutoEvent, START_STR='syn keyword vimAutoEvent contained', END_STR='' -syn keyword vimAutoEvent contained BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre CmdlineChanged CmdlineEnter CmdlineLeave CmdUndefined CmdwinEnter CmdwinLeave ColorScheme ColorSchemePre CompleteChanged CompleteDone CompleteDonePre CursorHold CursorHoldI CursorMoved CursorMovedC CursorMovedI DiffUpdated DirChanged DirChangedPre EncodingChanged ExitPre FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost -syn keyword vimAutoEvent contained FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave InsertLeavePre KeyInputPre MenuPopup ModeChanged OptionSet QuickFixCmdPost QuickFixCmdPre QuitPre RemoteReply SafeState SafeStateAgain SessionLoadPost SessionWritePost ShellCmdPost ShellFilterPost SigUSR1 SourceCmd SourcePost SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabClosed TabClosedPre TabEnter TabLeave TabNew TermChanged TerminalOpen TerminalWinOpen TermResponse TermResponseAll TextChanged TextChangedI TextChangedP TextChangedT TextYankPost User VimEnter VimLeave VimLeavePre VimResized VimResume VimSuspend WinClosed WinEnter WinLeave WinNew WinNewPre WinResized WinScrolled +" GEN_SYN_VIM: vimAutoEvent, START_STR='syn keyword vimAutoEvent contained', END_STR='skipwhite nextgroup=vimAutoEventSep,@vimAutocmdPattern' +syn keyword vimAutoEvent contained BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre CmdlineChanged CmdlineEnter CmdlineLeave CmdUndefined CmdwinEnter CmdwinLeave ColorScheme ColorSchemePre CompleteChanged CompleteDone CompleteDonePre CursorHold CursorHoldI CursorMoved CursorMovedC CursorMovedI DiffUpdated DirChanged DirChangedPre EncodingChanged ExitPre FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost skipwhite nextgroup=vimAutoEventSep,@vimAutocmdPattern +syn keyword vimAutoEvent contained FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave InsertLeavePre KeyInputPre MenuPopup ModeChanged OptionSet QuickFixCmdPost QuickFixCmdPre QuitPre RemoteReply SafeState SafeStateAgain SessionLoadPost SessionWritePost ShellCmdPost ShellFilterPost SigUSR1 SourceCmd SourcePost SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabClosed TabClosedPre TabEnter TabLeave TabNew TermChanged TerminalOpen TerminalWinOpen TermResponse TermResponseAll TextChanged TextChangedI TextChangedP TextChangedT TextYankPost VimEnter VimLeave VimLeavePre VimResized VimResume VimSuspend WinClosed WinEnter WinLeave WinNew WinNewPre WinResized WinScrolled skipwhite nextgroup=vimAutoEventSep,@vimAutocmdPattern + +syn keyword vimAutoEvent contained User skipwhite nextgroup=vimUserAutoEvent +syn match vimUserAutoEvent contained "\<\h\w*\>" skipwhite nextgroup=vimAutoEventSep,@vimAutocmdPattern " Highlight commonly used Groupnames {{{2 syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo @@ -280,7 +283,7 @@ syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vim syn case match " All vimCommands are contained by vimIsCommand. {{{2 -syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimFor,vimFunction,vimFuncFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList +syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimFor,vimFunction,vimFuncFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var syn match vimCmdSep "\\\@1" contains=vimAugroupKey,vimAugroupBang skipwhite nextgroup=vimAugroupBang,vimAutoCmdGroup -if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'a' - syn region vimAugroup fold start="\\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd -else - syn region vimAugroup start="\\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd -endif + +" define +VimFolda syn region vimAugroup + \ start="\\ze\s\+\%([eE][nN][dD]\)\@!\S\+" + \ matchgroup=vimAugroupKey + \ end="\\ze\s\+[eE][nN][dD]\>" + \ skipwhite nextgroup=vimAugroupEnd + \ contains=vimAutocmd,@vimAugroupList,vimAugroupkey if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noaugrouperror") - syn match vimAugroupError "\\s\+[eE][nN][dD]\>" + syn match vimAugroupError "\\s\+[eE][nN][dD]\>" endif -syn match vimAutoCmdGroup contained "\S\+" -syn match vimAugroupEnd contained "\c\" -syn match vimAugroupBang contained "\a\@1<=!" skipwhite nextgroup=vimAutoCmdGroup -syn keyword vimAugroupKey contained aug[roup] skipwhite nextgroup=vimAugroupBang,vimAutoCmdGroup,vimAugroupEnd +" TODO: Vim9 comment +syn match vimAugroupName contained "\%(\\["|[:space:]]\|[^"|[:space:]]\)\+" +syn match vimAugroupEnd contained "\c\" +syn match vimAugroupBang contained "\a\@1<=!" skipwhite nextgroup=vimAugroupName +syn keyword vimAugroupKey contained aug[roup] skipwhite nextgroup=vimAugroupBang,vimAugroupName,vimAugroupEnd +" remove +syn match vimAugroup "\\ze\s*\%(["|]\|$\)" skipwhite nextgroup=vimCmdSep,vimComment contains=vimAugroupKey +Vim9 syn match vimAugroup "\\ze\s*\%([#|]\|$\)" skipwhite nextgroup=vimCmdSep,vim9Comment contains=vimAugroupKey + +" hi def link vimAugroupEnd Special " Operators: {{{2 " ========= syn cluster vimOperGroup contains=@vimContinue,@vimExprList,vim9Comment @@ -942,16 +956,83 @@ syn keyword vimAbb ab[breviate] ca[bbrev] cnorea[bbrev] cuna[bbrev] ia[bbrev] in " GEN_SYN_VIM: vimCommand abclear, START_STR='syn keyword vimAbb', END_STR='skipwhite nextgroup=vimMapMod' syn keyword vimAbb abc[lear] cabc[lear] iabc[lear] skipwhite nextgroup=vimMapMod -" Autocmd: {{{2 -" ======= -syn match vimAutoCmdBang contained "\a\@1<=!" skipwhite nextgroup=vimAutoEventList -syn match vimAutoEventList contained "\%(\a\+,\)*\a\+" contains=vimAutoEvent nextgroup=vimAutoCmdSpace -syn match vimAutoCmdSpace contained "\s\+" nextgroup=vimAutoCmdSfxList -syn match vimAutoCmdSfxList contained "\S*" skipwhite nextgroup=vimAutoCmdMod,vimAutoCmdBlock -syn keyword vimAutoCmd au[tocmd] skipwhite nextgroup=vimAutoCmdBang,vimAutoEventList -syn keyword vimAutoCmd do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoEventList -syn match vimAutoCmdMod "\(++\)\=\(once\|nested\)" skipwhite nextgroup=vimAutoCmdBlock -syn region vimAutoCmdBlock contained matchgroup=vimSep start="{" end="^\s*\zs}" contains=@vimDefBodyList +" Filename Patterns: {{{2 +" ================= + +syn match vimWildcardQuestion contained "?" +syn match vimWildcardStar contained "*" + +syn match vimWildcardBraceComma contained "," +syn region vimWildcardBrace contained + \ matchgroup=vimWildcard + \ start="{" + \ end="}" + \ contains=vimWildcardEscape,vimWildcardBrace,vimWildcardBraceComma,vimWildcardQuestion,vimWildcardStar,vimWildcardBracket + \ oneline + +syn match vimWildcardIntervalNumber contained "\d\+" +syn match vimWildcardInterval contained "\\\\\\{\d\+\%(,\d\+\)\=\\}" contains=vimWildcardIntervalNumber + + +syn match vimWildcardBracket contained "\[\%(\^\=]\=\%(\\.\|\[\([:.=]\)[^:.=]\+\1]\|[^][:space:]]\)*\)\@>]" + \ contains=vimWildcardBracketStart,vimWildcardEscape + +syn match vimWildcardBracketCharacter contained "." nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketHyphen,vimWildcardBracketEnd +syn match vimWildcardBracketRightBracket contained "]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd +syn match vimWildcardBracketHyphen contained "-]\@!" nextgroup=@vimWildcardBracketCharacter +syn match vimWildcardBracketEscape contained "\\." nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketHyphen,vimWildcardBracketEnd +syn match vimWildcardBracketCharacterClass contained "\[:[^:]\+:]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd +syn match vimWildcardBracketEquivalenceClass contained "\[=[^=]\+=]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd +syn match vimWildcardBracketCollatingSymbol contained "\[\.[^.]\+\.]" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketEnd + +syn match vimWildcardBracketStart contained "\[" nextgroup=vimWildcardBracketCaret,vimWildcardBracketRightBracket,@vimWildcardBracketCharacter +syn match vimWildcardBracketCaret contained "\^" nextgroup=@vimWildcardBracketCharacter,vimWildcardBracketRightBracket +syn match vimWildcardBracketEnd contained "]" + +syn cluster vimWildcardBracketCharacter contains=vimWildcardBracketCharacter,vimWildcardBracketEscape,vimWildcardBracketCharacterClass,vimWildcardBracketEquivalenceClass,vimWildcardBracketCollatingSymbol + +syn match vimWildcardEscape contained "\\." + +syn cluster vimWildcard contains=vimWildcardQuestion,vimWildcardStar,vimWildcardBrace,vimWildcardBracket,vimWildcardInterval + +" Autocmd and Doauto{cmd,all}: {{{2 +" =========================== + +" TODO: explicitly match the {cmd} arg rather than bailing out to TOP +syn region vimAutocmdBlock contained matchgroup=vimSep start="{" end="^\s*\zs}" contains=@vimDefBodyList + +syn match vimAutocmdGroup contained "\%(\\["|[:space:]]\|[^"|[:space:]]\)\+" skipwhite nextgroup=vimAutoEvent,vimAutoEventGlob +syn match vimAutocmdBang contained "\a\@1<=!" skipwhite nextgroup=vimAutocmdGroup,vimAutoEvent,vimAutoEventGlob + +" TODO: cleaner handling of | in pattern position +" : match pattern items in addition to wildcards +syn region vimAutocmdPattern contained + \ start="|\@!\S" + \ skip="\\\\\|\\[,[:space:]]" + \ end="\ze[,[:space:]]" + \ end="$" + \ skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock + \ contains=vimEnvvar,@vimWildcard,vimAutocmdPatternEscape +syn match vimAutocmdBufferPattern contained "" skipwhite nextgroup=vimAutocmdPatternSep,vimAutocmdMod,vimAutocmdBlock +" trailing pattern separator comma allowed +syn match vimAutocmdPatternSep contained "," skipwhite nextgroup=@vimAutocmdPattern,vimAutocmdMod,vimAutocmdBlock +syn match vimAutocmdPatternEscape contained "\\." +syn cluster vimAutocmdPattern contains=vimAutocmdPattern,vimAutocmdBufferPattern + +" TODO: Vim9 requires '++' prefix +syn match vimAutocmdMod contained "\%(++\)\=\" skipwhite nextgroup=vimAutocmdMod,vimAutocmdBlock +syn match vimAutocmdMod contained "++once\>" skipwhite nextgroup=vimAutocmdMod,vimAutocmdBlock + +" higher priority than vimAutocmdGroup, assume no group is so named +syn match vimAutoEventGlob contained "*" skipwhite nextgroup=@vimAutocmdPattern +syn match vimAutoEventSep contained "\a\@1<=," nextgroup=vimAutoEvent + +syn match vimAutocmd "\" skipwhite nextgroup=vimAutocmdBang,vimAutocmdGroup,vimAutoEvent,vimAutoEventGlob + + +syn match vimDoautocmdMod contained "" skipwhite nextgroup=vimAutocmdGroup,vimAutoEvent +syn match vimDoautocmd "\" skipwhite nextgroup=vimDoautocmdMod,vimAutocmdGroup,vimAutoEvent +syn match vimDoautocmd "\" skipwhite nextgroup=vimDoautocmdMod,vimAutocmdGroup,vimAutoEvent " Echo And Execute: -- prefer strings! {{{2 " ================ @@ -1706,10 +1787,14 @@ if !exists("skip_vim_syntax_inits") hi def link vimAugroupBang vimBang hi def link vimAugroupError vimError hi def link vimAugroupKey vimCommand - hi def link vimAutoCmd vimCommand - hi def link vimAutoCmdBang vimBang + hi def link vimAutocmd vimCommand + hi def link vimAutocmdBang vimBang + hi def link vimAutocmdPatternEscape Special hi def link vimAutoEvent Type - hi def link vimAutoCmdMod Special + hi def link vimAutoEventGlob Type + hi def link vimAutocmdBufferPattern Special + hi def link vimAutocmdMod Special + hi def link vimAutocmdPatternSep vimSep hi def link vimBang vimOper hi def link vimBehaveBang vimBang hi def link vimBehaveModel vimBehave @@ -1735,6 +1820,8 @@ if !exists("skip_vim_syntax_inits") hi def link vimDefParam vimVar hi def link vimDelcommand vimCommand hi def link vimDelcommandAttr vimUserCmdAttr + hi def link vimDoautocmd vimCommand + hi def link vimDoautocmdMod Special hi def link vimEcho vimCommand hi def link vimEchohlNone vimGroup hi def link vimEchohl vimCommand @@ -1950,6 +2037,24 @@ if !exists("skip_vim_syntax_inits") hi def link vimVimVar Identifier hi def link vimVimVarName Identifier hi def link vimWarn WarningMsg + hi def link vimWildcard Special + hi def link vimWildcardBraceComma vimWildcard + hi def link vimWildcardBracket vimWildcard + hi def link vimWildcardBracketCaret vimWildcard + hi def link vimWildcardBracketCharacter Normal + hi def link vimWildcardBracketCharacter Normal + hi def link vimWildcardBracketCharacterClass vimWildCard + hi def link vimWildcardBracketCollatingSymbol vimWildCard + hi def link vimWildcardBracketEnd vimWildcard + hi def link vimWildcardBracketEquivalenceClass vimWildCard + hi def link vimWildcardBracketEscape vimWildcard + hi def link vimWildcardBracketHyphen vimWildcard + hi def link vimWildcardBracketRightBracket vimWildcardBracketCharacter + hi def link vimWildcardBracketStart vimWildcard + hi def link vimWildcardEscape vimWildcard + hi def link vimWildcardInterval vimWildcard + hi def link vimWildcardQuestion vimWildcard + hi def link vimWildcardStar vimWildcard hi def link vim9Abstract vimCommand hi def link vim9Boolean Boolean