]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(vim): Update base-syntax, improve :autocmd highlighting
authorDoug Kearns <dougkearns@gmail.com>
Tue, 22 Apr 2025 17:48:13 +0000 (19:48 +0200)
committerChristian Brabandt <cb@256bit.org>
Tue, 22 Apr 2025 17:48:13 +0000 (19:48 +0200)
- Match full :autocmd, :doautocmd and :doautoall commands.
- Add filename pattern (wildcard) highlighting.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
35 files changed:
runtime/syntax/generator/gen_syntax_vim.vim
runtime/syntax/generator/vim.vim.base
runtime/syntax/testdir/dumps/vim9_comment_01.dump
runtime/syntax/testdir/dumps/vim9_ex_comment_strings_01.dump
runtime/syntax/testdir/dumps/vim9_ex_no_comment_strings_01.dump
runtime/syntax/testdir/dumps/vim9_lambda_09.dump
runtime/syntax/testdir/dumps/vim_comment_01.dump
runtime/syntax/testdir/dumps/vim_ex_augroup_00.dump
runtime/syntax/testdir/dumps/vim_ex_augroup_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_augroup_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_augroup_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_04.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_05.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_08.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_09.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_10.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_11.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_12.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_13.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_14.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_15.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_autocmd_16.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_ex_comment_strings_00.dump
runtime/syntax/testdir/dumps/vim_ex_comment_strings_01.dump
runtime/syntax/testdir/dumps/vim_ex_no_comment_strings_00.dump
runtime/syntax/testdir/dumps/vim_ex_no_comment_strings_01.dump
runtime/syntax/testdir/input/vim_ex_augroup.vim
runtime/syntax/testdir/input/vim_ex_autocmd.vim [new file with mode: 0644]
runtime/syntax/vim.vim

index d2bfc5c67894331484d59e70bbe30637a309fc5c..e016deaf84a88e6225ce8bcb661e47fae276d1c3 100644 (file)
@@ -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)
index 2dab30760ef7b9316a245692e92112f95b6fecb9..21fcf37c8dc61996b227fe7ced61df8726b56bd8 100644 (file)
@@ -2,7 +2,7 @@
 " Language:       Vim script
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkearns@gmail.com>
-" Last Change:    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<!|"      skipwhite nextgroup=@vimCmdList,vimSubst1,vimFunc
 syn match vimCmdSep    ":\+"   skipwhite nextgroup=@vimCmdList,vimSubst1
@@ -319,21 +322,32 @@ syn keyword vimFTOption contained detect indent off on plugin
 " Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2
 " ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
 syn cluster vimAugroupList     contains=@vimCmdList,vimFilter,vimFunc,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,@vimComment,vimString,vimSubst,vimRegister,vimCmplxRepeat,vimNotation,vimCtrlChar,vimContinue
-syn match   vimAugroup "\<aug\%[roup]\>" contains=vimAugroupKey,vimAugroupBang skipwhite nextgroup=vimAugroupBang,vimAutoCmdGroup
-if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'a'
-  syn region  vimAugroup  fold start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd
-else
-  syn region  vimAugroup       start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd
-endif
+
+" define
+VimFolda syn region vimAugroup
+      \ start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+"
+      \ matchgroup=vimAugroupKey
+      \ end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>"
+      \ skipwhite nextgroup=vimAugroupEnd
+      \ contains=vimAutocmd,@vimAugroupList,vimAugroupkey
 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noaugrouperror")
-  syn match   vimAugroupError  "\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
+  syn match    vimAugroupError "\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
 endif
 
-syn match   vimAutoCmdGroup    contained "\S\+"
-syn match   vimAugroupEnd      contained "\c\<END\>"
-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\<END\>"
+syn match      vimAugroupBang  contained       "\a\@1<=!"      skipwhite nextgroup=vimAugroupName
+syn keyword    vimAugroupKey   contained       aug[roup]       skipwhite nextgroup=vimAugroupBang,vimAugroupName,vimAugroupEnd
 
+" remove
+syn match      vimAugroup      "\<aug\%[roup]!"                skipwhite nextgroup=vimAugroupName contains=vimAugroupKey,vimAugroupBang 
+
+" list
+VimL syn match vimAugroup      "\<aug\%[roup]\>\ze\s*\%(["|]\|$\)"     skipwhite nextgroup=vimCmdSep,vimComment  contains=vimAugroupKey
+Vim9 syn match         vimAugroup      "\<aug\%[roup]\>\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       "<buffer\%(=\%(\d\+\|abuf\)\)\=>" 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       "\%(++\)\=\<nested\>" 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              "\<au\%[tocmd]\>"       skipwhite nextgroup=vimAutocmdBang,vimAutocmdGroup,vimAutoEvent,vimAutoEventGlob
+
+
+syn match      vimDoautocmdMod contained       "<nomodeline>"          skipwhite nextgroup=vimAutocmdGroup,vimAutoEvent
+syn match      vimDoautocmd            "\<do\%[autocmd]\>"     skipwhite nextgroup=vimDoautocmdMod,vimAutocmdGroup,vimAutoEvent
+syn match      vimDoautocmd            "\<doautoa\%[ll]\>"     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
index dbd59d54886208102a2f9839b856c8a54626ab1f..30d3ccf779625dab7fb19308981092049efcfe2b 100644 (file)
@@ -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
index 1fd26e65e2bafeb85a39b45c688490b5dd374620..18f7648fa9a21dd2b8a735a7ae9799040dfe9c0c 100644 (file)
@@ -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
index bde4dbc5cb445782f41e7144b685e35ed0866699..118fcaf1e73f676419eda59b4c2675ff1d428758 100644 (file)
@@ -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
index f8b7988910728482d7dd5cf349200fdb310885a7..b0d3e9d1f3edff267ac331d4edec1cb0fc348169 100644 (file)
@@ -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
index 6b1234d85e1ba8d88cc30af10106501bda7c3464..1bb6e7b780961a5e59a4321add0def5f7f7ec38a 100644 (file)
@@ -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
index 0424482bb0d59b9ca5547d8c7de5ce75f7989dd2..4ac5e2f6c8b0161b0e1289242876dcf0ea0bc51f 100644 (file)
@@ -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 (file)
index 0000000..c5b2c37
--- /dev/null
@@ -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 (file)
index 0000000..b85e79d
--- /dev/null
@@ -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 (file)
index 0000000..8f296fa
--- /dev/null
@@ -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 (file)
index 0000000..13dbfc6
--- /dev/null
@@ -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 (file)
index 0000000..1f54e27
--- /dev/null
@@ -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 (file)
index 0000000..fa775dc
--- /dev/null
@@ -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 (file)
index 0000000..4966993
--- /dev/null
@@ -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 (file)
index 0000000..50bcd38
--- /dev/null
@@ -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 (file)
index 0000000..7cf99da
--- /dev/null
@@ -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 (file)
index 0000000..366d71c
--- /dev/null
@@ -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 (file)
index 0000000..34546f1
--- /dev/null
@@ -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 (file)
index 0000000..f4bad3a
--- /dev/null
@@ -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 (file)
index 0000000..a2c6395
--- /dev/null
@@ -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 (file)
index 0000000..9179f30
--- /dev/null
@@ -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 (file)
index 0000000..73ce740
--- /dev/null
@@ -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 (file)
index 0000000..aac1eea
--- /dev/null
@@ -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 (file)
index 0000000..52ccbca
--- /dev/null
@@ -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 (file)
index 0000000..3d126cf
--- /dev/null
@@ -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 (file)
index 0000000..b76c20b
--- /dev/null
@@ -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 (file)
index 0000000..932e103
--- /dev/null
@@ -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| 
index 9500d073d98e0da7865c65900715e65acdd24fc3..2cdc33cb5a82941f7634de9e4941dfd95a744a0f 100644 (file)
@@ -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| 
index 2dc2425f25597e9f9e0cc70ff6cbcdb1195038a0..6f6d7cfd41c17ad885085678faefa13489965045 100644 (file)
@@ -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
index 245eab66c3672df326dc2730835024e794c7b06d..1a679d8bf54dfd965c2f28ab10727bc47d7a9e68 100644 (file)
@@ -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| 
index 5bf3cf1fd05b6a9512a37177f1ca2f17c2cb00d3..5b21c0e9eb3411706484df41ef6b6b96e1004d46 100644 (file)
@@ -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
index 2dae59dda5751ff0e6934bd5cb99e422767c533f..aa13d979e4d0a67632b77f44edefc34d8456ba7b 100644 (file)
@@ -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 (file)
index 0000000..162f933
--- /dev/null
@@ -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            <buffer>      ++once ++nested echo "Foo" | echo "Bar"
+autocmd foogroup BufRead            <buffer=42>   ++once ++nested echo "Foo" | echo "Bar"
+autocmd foogroup BufRead            <buffer=abuf> ++once ++nested echo "Foo" | echo "Bar"
+autocmd          BufRead            <buffer>      ++once ++nested echo "Foo" | echo "Bar"
+autocmd          BufRead            <buffer=42>   ++once ++nested echo "Foo" | echo "Bar"
+autocmd          BufRead            <buffer=abuf> ++once ++nested echo "Foo" | echo "Bar"
+autocmd          BufRead,BufNewFile <buffer>      ++once ++nested echo "Foo" | echo "Bar"
+autocmd          BufRead,BufNewFile <buffer=42>   ++once ++nested echo "Foo" | echo "Bar"
+autocmd          BufRead,BufNewFile <buffer=abuf> ++once ++nested echo "Foo" | echo "Bar"
+autocmd          User FooEvent      <buffer>      ++once ++nested echo "Foo" | echo "Bar"
+autocmd          User FooEvent      <buffer=42>   ++once ++nested echo "Foo" | echo "Bar"
+autocmd          User FooEvent      <buffer=abuf> ++once ++nested echo "Foo" | echo "Bar"
+
+autocmd foogroup BufRead            f<buffer>oo   ++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 <buffer>,*.vim,*.c   echo "Foo" | echo "Bar"
+autocmd BufRead *.txt,<buffer>,*.c   echo "Foo" | echo "Bar"
+autocmd BufRead *.txt,*.vim,<buffer> echo "Foo" | echo "Bar"
+
+autocmd BufRead <buffer=1>,<buffer=2>,<buffer=3> 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 <nomodeline> BufRead
+
+doautoall <nomodeline> foogroup BufRead *.txt
+
+doautoall User FooEvent
+
+doautoall User FooEvent *.txt
+doautoall foogroup User FooEvent
+doautoall <nomodeline> User FooEvent
+
+doautoall <nomodeline> foogroup User FooEvent *.txt
+
+doautoall <nomodeline> foogroup BufRead *.txt | echo "Foo"
+doautoall <nomodeline> foogroup BufRead *.txt " comment
+
+
+" :doautocmd
+
+doautocmd BufRead
+
+doautocmd BufRead *.txt
+doautocmd foogroup BufRead
+doautocmd <nomodeline> BufRead
+
+doautocmd <nomodeline> foogroup BufRead *.txt
+
+doautocmd User FooEvent
+
+doautocmd User FooEvent *.txt
+doautocmd foogroup User FooEvent
+doautocmd <nomodeline> User FooEvent
+
+doautocmd <nomodeline> foogroup User FooEvent *.txt
+
+doautocmd <nomodeline> foogroup BufRead *.txt | echo "Foo"
+doautocmd <nomodeline> 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
+
index 6ab723106d36798151e27b16b7e21eecaf9e1689..47ff1b40978fd7718d166cf17180d61af22d8158 100644 (file)
@@ -2,7 +2,7 @@
 " Language:       Vim script
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkearns@gmail.com>
-" Last Change:    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<!|"      skipwhite nextgroup=@vimCmdList,vimSubst1,vimFunc
 syn match vimCmdSep    ":\+"   skipwhite nextgroup=@vimCmdList,vimSubst1
@@ -369,21 +372,32 @@ syn keyword vimFTOption contained detect indent off on plugin
 " Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2
 " ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
 syn cluster vimAugroupList     contains=@vimCmdList,vimFilter,vimFunc,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,@vimComment,vimString,vimSubst,vimRegister,vimCmplxRepeat,vimNotation,vimCtrlChar,vimContinue
-syn match   vimAugroup "\<aug\%[roup]\>" contains=vimAugroupKey,vimAugroupBang skipwhite nextgroup=vimAugroupBang,vimAutoCmdGroup
-if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'a'
-  syn region  vimAugroup  fold start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd
-else
-  syn region  vimAugroup       start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd
-endif
+
+" define
+VimFolda syn region vimAugroup
+      \ start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+"
+      \ matchgroup=vimAugroupKey
+      \ end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>"
+      \ skipwhite nextgroup=vimAugroupEnd
+      \ contains=vimAutocmd,@vimAugroupList,vimAugroupkey
 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noaugrouperror")
-  syn match   vimAugroupError  "\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
+  syn match    vimAugroupError "\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
 endif
 
-syn match   vimAutoCmdGroup    contained "\S\+"
-syn match   vimAugroupEnd      contained "\c\<END\>"
-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\<END\>"
+syn match      vimAugroupBang  contained       "\a\@1<=!"      skipwhite nextgroup=vimAugroupName
+syn keyword    vimAugroupKey   contained       aug[roup]       skipwhite nextgroup=vimAugroupBang,vimAugroupName,vimAugroupEnd
 
+" remove
+syn match      vimAugroup      "\<aug\%[roup]!"                skipwhite nextgroup=vimAugroupName contains=vimAugroupKey,vimAugroupBang 
+
+" list
+VimL syn match vimAugroup      "\<aug\%[roup]\>\ze\s*\%(["|]\|$\)"     skipwhite nextgroup=vimCmdSep,vimComment  contains=vimAugroupKey
+Vim9 syn match         vimAugroup      "\<aug\%[roup]\>\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       "<buffer\%(=\%(\d\+\|abuf\)\)\=>" 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       "\%(++\)\=\<nested\>" 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              "\<au\%[tocmd]\>"       skipwhite nextgroup=vimAutocmdBang,vimAutocmdGroup,vimAutoEvent,vimAutoEventGlob
+
+
+syn match      vimDoautocmdMod contained       "<nomodeline>"          skipwhite nextgroup=vimAutocmdGroup,vimAutoEvent
+syn match      vimDoautocmd            "\<do\%[autocmd]\>"     skipwhite nextgroup=vimDoautocmdMod,vimAutocmdGroup,vimAutoEvent
+syn match      vimDoautocmd            "\<doautoa\%[ll]\>"     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