" Vim syntax file generator
" Language: Vim script
" Maintainer: Hirohito Higashi (h_east)
-" Last Change: 2025 Apr 06
+" Last Change: 2025 Apr 10
let s:keepcpo= &cpo
set cpo&vim
enum
execute
export
+ filter
final
for
function
+ grep
+ grepadd
+ helpgrep
if
interface
insert
let
loadkeymap
+ lhelpgrep
+ lvimgrep
+ lvimgrepadd
+ make
map
mapclear
match
sleep
smagic
snomagic
+ sort
static
substitute
syntax
unmap
var
vim9script
+ vimgrep
+ vimgrepadd
while
EOL
" Required for original behavior
" Language: Vim script
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
" Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2025 Apr 06
+" Last Change: 2025 Apr 10
" Former Maintainer: Charles E. Campbell
" DO NOT CHANGE DIRECTLY.
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,vimFor,vimFunction,vimFuncFold,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimLockvar,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimRedir,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList
+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 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
syn region vimExecute matchgroup=vimCommand start="\<exe\%[cute]\>" skip=+\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimExprList transparent
+" Filter: {{{2
+" ======
+syn match vimExFilter "\<filt\%[er]\>" skipwhite nextgroup=vimExFilterBang,vimExFilterPattern
+syn match vimExFilterBang contained "\a\@1<=!" skipwhite nextgroup=vimExFilterPattern
+syn region vimExFilterPattern contained
+ \ start="[[:ident:]]"
+ \ end="\ze[[:space:]\n]"
+ \ skipwhite nextgroup=@vimCmdList
+ \ contains=@vimSubstList
+ \ oneline
+syn region vimExFilterPattern contained
+ \ matchgroup=Delimiter
+ \ start="\z([^[:space:][:ident:]|"]\)"
+ \ skip="\\\\\|\\\z1"
+ \ end="\z1"
+ \ skipwhite nextgroup=@vimCmdList
+ \ contains=@vimSubstList
+ \ oneline
+
+" Grep and Make: {{{2
+" =============
+" | is the command separator, escaped with \| all other backslashes are passed through literally, no tail comments
+syn match vimGrep "\<l\=gr\%[ep]\>" skipwhite nextgroup=vimGrepBang,vimGrepArgs,vimCmdSep
+syn match vimGrepadd "\<l\=grepa\%[dd]\>" skipwhite nextgroup=vimGrepBang,vimGrepArgs,vimCmdSep
+syn region vimGrepArgs contained
+ \ start="|\@!\S"
+ \ skip=+\n\s*\%(\\\|[#"]\\ \)+
+ \ matchgroup=vimCmdSep
+ \ end="|"
+ \ end="$"
+ "\ TODO: include vimSpecFile
+ \ contains=vimGrepBarEscape
+syn match vimGrepBarEscape contained "\\|"
+syn match vimGrepBang contained "\a\@1<=!" skipwhite nextgroup=vimGrepArgs,vimCmdSep
+
+syn match vimMake "\<l\=make\=\>" skipwhite nextgroup=vimMakeBang,vimMakeArgs,vimCmdSep
+syn region vimMakeArgs contained
+ \ start="|\@!\S"
+ \ skip=+\n\s*\%(\\\|[#"]\\ \)+
+ \ matchgroup=vimCmdSep
+ \ end="|"
+ \ end="$"
+ "\ TODO: include vimSpecFile
+ \ contains=vimMakeBarEscape
+syn match vimMakeBarEscape contained "\\|"
+syn match vimMakeBang contained "\a\@1<=!" skipwhite nextgroup=vimMakeArgs,vimCmdSep
+
+syn match vimHelpgrep "\<l\=helpg\%[rep]\>" skipwhite nextgroup=vimHelpgrepBang,vimHelpgrepPattern
+syn region vimHelpgrepPattern contained
+ \ start="\S"
+ \ matchgroup=Special
+ \ end="@\w\w\>"
+ \ end="$"
+ \ contains=@vimSubstList
+ \ oneline
+
+" Vimgrep: {{{2
+" =======
+syn match vimVimgrep "\<l\=vim\%[grep]\>" skipwhite nextgroup=vimVimgrepBang,vimVimgrepPattern
+syn match vimVimgrepadd "\<l\=vimgrepa\%[dd]\>" skipwhite nextgroup=vimVimgrepBang,vimVimgrepPattern
+syn match vimVimgrepBang contained "\a\@1<=!" skipwhite nextgroup=vimVimgrepPattern
+syn region vimVimgrepPattern contained
+ \ start="[[:ident:]]"
+ \ end="\ze[[:space:]\n]"
+ \ skipwhite nextgroup=vimVimgrepFile,vimCmdSep
+ \ contains=@vimSubstList
+ \ oneline
+syn region vimVimgrepPattern contained
+ \ matchgroup=Delimiter
+ \ start="\z([^[:space:][:ident:]|"]\)"
+ \ skip="\\\\\|\\\z1"
+ \ end="\z1"
+ \ skipwhite nextgroup=vimVimgrepFlags,vimVimgrepFile,vimCmdSep
+ \ contains=@vimSubstList
+ \ oneline
+syn match vimVimgrepEscape contained "\\\%(\\|\|.\)"
+syn match vimVimgrepBarEscape contained "\\|"
+syn region vimVimgrepFile contained
+ \ start="|\@!\S"
+ \ matchgroup=vimCmdSep
+ \ end="|"
+ \ end="\ze\s"
+ \ end="$"
+ \ skipwhite nextgroup=vimVimgrepFile
+ \ contains=vimSpecFile,vimVimgrepEscape,vimVimgrepBarEscape
+syn match vimVimgrepFlags contained "\<[gjf]\{,3\}\>" skipwhite nextgroup=vimVimgrepfile
+
" Maps: {{{2
" ====
" GEN_SYN_VIM: vimCommand map, START_STR='syn keyword vimMap', END_STR='skipwhite nextgroup=vimMapMod,vimMapLhs'
syn match vimSleepBang contained "\a\@1<=!" skipwhite nextgroup=vimSleepArg
syn match vimSleepArg contained "\<\%(\d\+\)\=m\=\>"
+" Sort: {{{2
+" ====
+syn match vimSort "\<sort\=\>" skipwhite nextgroup=vimSortBang,@vimSortOptions,vimSortPattern,vimCmdSep
+syn match vimSortBang contained "\a\@1<=!" skipwhite nextgroup=@vimSortOptions,vimSortPattern,vimCmdSep
+syn match vimSortOptionsError contained "\a\+"
+syn match vimSortOptions contained "\<[ilur]*[nfxob]\=[ilur]*\>" skipwhite nextgroup=vimSortPattern,vimCmdSep
+syn region vimSortPattern contained
+ \ matchgroup=Delimiter
+ \ start="\z([^[:space:][:alpha:]|]\)"
+ \ skip="\\\\\|\\\z1"
+ \ end="\z1"
+ \ skipwhite nextgroup=@vimSortOptions,vimCmdSep
+ \ contains=@vimSubstList
+ \ oneline
+
+syn cluster vimSortOptions contains=vimSortOptions,vimSortOptionsError
+
" Syntax: {{{2
"=======
syn match vimGroupList contained "[^[:space:],]\+\%(\s*,\s*[^[:space:],]\+\)*" contains=vimGroupSpecial
hi def link vimHiKeyError vimError
hi def link vimMapModErr vimError
hi def link vimShebangError vimError
+ hi def link vimSortOptionsError Error
hi def link vimSubstFlagErr vimError
hi def link vimSynCaseError vimError
hi def link vimSyncError vimError
hi def link vimEnvvar PreProc
hi def link vimError Error
hi def link vimEscape Special
+ hi def link vimExFilter vimCommand
+ hi def link vimExFilterBang vimCommand
hi def link vimFBVar vimVar
hi def link vimFgBgAttrib vimHiAttrib
hi def link vimFuncEcho vimCommand
hi def link vimFuncParamEquals vimOper
hi def link vimFuncScope vimVarScope
hi def link vimFuncSID vimNotation
+ hi def link vimGrep vimCommand
+ hi def link vimGrepadd vimCommand
+ hi def link vimGrepBang vimBang
hi def link vimGroupAdd vimSynOption
hi def link vimGroupName Normal
hi def link vimGroupRem vimSynOption
hi def link vimGroupSpecial Special
hi def link vimGroup Type
+ hi def link vimHelpgrep vimCommand
hi def link vimHiAttrib PreProc
hi def link vimHiBang vimBang
hi def link vimHiClear Type
hi def link vimLetHereDocStop Special
hi def link vimLetRegister vimRegister
hi def link vimLineComment vimComment
+ hi def link vimMake vimCommand
+ hi def link vimMakeadd vimCommand
+ hi def link vimMakeBang vimBang
hi def link vimMapBang vimBang
hi def link vimMapLeader vimBracket
hi def link vimMapLeaderKey vimNotation
hi def link vimSleep vimCommand
hi def link vimSleepArg Constant
hi def link vimSleepBang vimBang
+ hi def link vimSort vimCommand
+ hi def link vimSortBang vimBang
+ hi def link vimSortOptions Special
hi def link vimSpecFile Identifier
hi def link vimSpecFileMod vimSpecFile
hi def link vimSpecial Type
hi def link vimUserFunc Normal
hi def link vimVar Normal
hi def link vimVarScope Identifier
+ hi def link vimVimgrep vimCommand
+ hi def link vimVimgrepadd vimCommand
+ hi def link vimVimgrepBang vimBang
+ hi def link vimVimgrepFlags Special
hi def link vimVimVar Identifier
hi def link vimVimVarName Identifier
hi def link vimWarn WarningMsg
--- /dev/null
+>"+0#0000e05#ffffff0| |V|i|m| |:|f|i|l|t|e|r| |c|o|m@1|a|n|d| +0#0000000&@53
+|"+0#0000e05&| |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|C|m|d|S|e|p| |O|p|e|r|a|t|o|r| +0#0000000&@24
+@75
+@75
+|f+0#af5f00255&|i|l|t|e|r| +0#0000000&@1|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @1|o+0#af5f00255&|l|d|f|i|l|e|s| +0#0000000&@44
+|f+0#af5f00255&|i|l|t|e|r|!| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @1|o+0#af5f00255&|l|d|f|i|l|e|s| +0#0000000&@44
+@75
+|f+0#af5f00255&|i|l|t|e|r| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|o+0#af5f00255&|l|d|f|i|l|e|s| +0#0000000&@43
+|f+0#af5f00255&|i|l|t|e|r|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|o+0#af5f00255&|l|d|f|i|l|e|s| +0#0000000&@43
+@75
+|f+0#af5f00255&|i|l|t|e|r| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|||t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|o+0#af5f00255&|l|d|f|i|l|e|s| +0#0000000&||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@29
+|f+0#af5f00255&|i|l|t|e|r|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|||t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|o+0#af5f00255&|l|d|f|i|l|e|s| +0#0000000&||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@29
+@75
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
--- /dev/null
+>"+0#0000e05#ffffff0| |V|i|m| |:|*|g|r|e|p| |a|n|d| |:|*|g|r|e|p|a|d@1| |c|o|m@1|a|n|d|s| +0#0000000&@39
+|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|C|m|d|S|e|p| |O|p|e|r|a|t|o|r| +0#0000000&@31
+|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|G|r|e|p|B|a|r|E|s|c|a|p|e| |S|p|e|c|i|a|l| +0#0000000&@25
+@75
+@75
+|g+0#af5f00255&|r|e|p| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| @49
+|l+0#af5f00255&|g|r|e|p| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| @49
+@75
+|g+0#af5f00255&|r|e|p|!| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| @48
+|l+0#af5f00255&|g|r|e|p|!| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| @48
+@75
+|g+0#af5f00255&|r|e|p|a|d@1| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| @46
+|l+0#af5f00255&|g|r|e|p|a|d@1| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| @46
+@75
+|g+0#af5f00255&|r|e|p|a|d@1|!| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| @45
+|l+0#af5f00255&|g|r|e|p|a|d@1|!| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| @45
+@75
+@75
+|"+0#0000e05&| |s|p|e|c|i|a|l| |f|i|l|e|n|a|m|e| |c|h|a|r|a|c|t|e|r|s| +0#0000000&@45
+@57|1|,|1| @10|T|o|p|
--- /dev/null
+| +0&#ffffff0@74
+|g+0#af5f00255&|r|e|p|a|d@1|!| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| @45
+|l+0#af5f00255&|g|r|e|p|a|d@1|!| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| @45
+@75
+@75
+>"+0#0000e05&| |s|p|e|c|i|a|l| |f|i|l|e|n|a|m|e| |c|h|a|r|a|c|t|e|r|s| +0#0000000&@45
+@75
+|g+0#af5f00255&|r|e|p| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |%| @55
+|l+0#af5f00255&|g|r|e|p| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |%| @55
+@75
+|g+0#af5f00255&|r|e|p|!| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |%| @54
+|l+0#af5f00255&|g|r|e|p|!| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |%| @54
+@75
+|g+0#af5f00255&|r|e|p|a|d@1|!| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |%| @51
+|l+0#af5f00255&|g|r|e|p|a|d@1|!| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |%| @51
+@75
+|g+0#af5f00255&|r|e|p|a|d@1|!| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |%| @51
+|l+0#af5f00255&|g|r|e|p|a|d@1|!| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |%| @51
+@75
+@57|1|9|,|1| @9|4|6|%|
--- /dev/null
+| +0&#ffffff0@74
+@75
+|"+0#0000e05&| |t|r|a|i|l|i|n|g| |b|a|r|,| |n|o| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@43
+@75
+|g+0#af5f00255&|r|e|p| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@36
+>l+0#af5f00255&|g|r|e|p| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@36
+@75
+|g+0#af5f00255&|r|e|p|!| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@35
+|l+0#af5f00255&|g|r|e|p|!| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@35
+@75
+|g+0#af5f00255&|r|e|p|a|d@1| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@33
+|l+0#af5f00255&|g|r|e|p|a|d@1| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@33
+@75
+|g+0#af5f00255&|r|e|p|a|d@1|!| +0#0000000&@1|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@32
+|l+0#af5f00255&|g|r|e|p|a|d@1|!| +0#0000000&|'|p|a|t|\+0#e000e06&|||t+0#0000000&|e|r|n|'| |f|o@1|.|t|x|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@32
+@75
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|3|7|,|1| @9|B|o|t|
--- /dev/null
+>"+0#0000e05#ffffff0| |V|i|m| |:|h|e|l|p|g|r|e|p| |c|o|m@1|a|n|d| +0#0000000&@51
+@75
+@75
+|h+0#af5f00255&|e|l|p|g|r|e|p| +0#0000000&|:|h|e|l|p| @60
+|h+0#af5f00255&|e|l|p|g|r|e|p| +0#0000000&|:|h|e|l|p|@+0#e000e06&|e|n| +0#0000000&@57
+|h+0#af5f00255&|e|l|p|g|r|e|p| +0#0000000&|:|h|\+0#e000e06&|%|(|e+0#0000000&|l|p|\+0#e000e06&|)|\+0#0000000&|=| @53
+@75
+|l+0#af5f00255&|h|e|l|p|g|r|e|p| +0#0000000&|:|h|e|l|p| @59
+|l+0#af5f00255&|h|e|l|p|g|r|e|p| +0#0000000&|:|h|e|l|p|@+0#e000e06&|e|n| +0#0000000&@56
+|l+0#af5f00255&|h|e|l|p|g|r|e|p| +0#0000000&|:|h|\+0#e000e06&|%|(|e+0#0000000&|l|p|\+0#e000e06&|)|\+0#0000000&|=| @52
+@75
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
--- /dev/null
+>"+0#0000e05#ffffff0| |V|i|m| |:|*|m|a|k|e| |c|o|m@1|a|n|d|s| +0#0000000&@53
+|"+0#0000e05&| |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|C|m|d|S|e|p| |O|p|e|r|a|t|o|r| +0#0000000&@24
+|"+0#0000e05&| |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|M|a|k|e|B|a|r|E|s|c|a|p|e| |S|p|e|c|i|a|l| +0#0000000&@18
+@75
+@75
+|m+0#af5f00255&|a|k|e| +0#0000000&@70
+|l+0#af5f00255&|m|a|k|e| +0#0000000&@69
+@75
+|m+0#af5f00255&|a|k|e|!| +0#0000000&@69
+|l+0#af5f00255&|m|a|k|e|!| +0#0000000&@68
+@75
+|m+0#af5f00255&|a|k|e| +0#0000000&@1|-|o|p|t|i|o|n|s| |t|a|r|g|e|t| @53
+|l+0#af5f00255&|m|a|k|e| +0#0000000&|-|o|p|t|i|o|n|s| |t|a|r|g|e|t| @53
+@75
+|m+0#af5f00255&|a|k|e|!| +0#0000000&@1|-|o|p|t|i|o|n|s| |t|a|r|g|e|t| @52
+|l+0#af5f00255&|m|a|k|e|!| +0#0000000&|-|o|p|t|i|o|n|s| |t|a|r|g|e|t| @52
+@75
+@75
+|"+0#0000e05&| |s|p|e|c|i|a|l| |f|i|l|e|n|a|m|e| |c|h|a|r|a|c|t|e|r|s| +0#0000000&@45
+@57|1|,|1| @10|T|o|p|
--- /dev/null
+| +0&#ffffff0@74
+|m+0#af5f00255&|a|k|e|!| +0#0000000&@1|-|o|p|t|i|o|n|s| |t|a|r|g|e|t| @52
+|l+0#af5f00255&|m|a|k|e|!| +0#0000000&|-|o|p|t|i|o|n|s| |t|a|r|g|e|t| @52
+@75
+@75
+>"+0#0000e05&| |s|p|e|c|i|a|l| |f|i|l|e|n|a|m|e| |c|h|a|r|a|c|t|e|r|s| +0#0000000&@45
+@75
+|m+0#af5f00255&|a|k|e| +0#0000000&@1|%| @67
+|l+0#af5f00255&|m|a|k|e| +0#0000000&|%| @67
+@75
+@75
+|"+0#0000e05&| |t|r|a|i|l|i|n|g| |b|a|r|,| |n|o| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@43
+@75
+|m+0#af5f00255&|a|k|e| +0#0000000&@1|t|a|r|\+0#e000e06&|||g+0#0000000&|e|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@47
+|l+0#af5f00255&|m|a|k|e| +0#0000000&|t|a|r|\+0#e000e06&|||g+0#0000000&|e|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@47
+@75
+|m+0#af5f00255&|a|k|e|!| +0#0000000&@1|t|a|r|\+0#e000e06&|||g+0#0000000&|e|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@46
+|l+0#af5f00255&|m|a|k|e|!| +0#0000000&|t|a|r|\+0#e000e06&|||g+0#0000000&|e|t| ||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@46
+@75
+@57|1|9|,|1| @9|6|8|%|
--- /dev/null
+| +0&#ffffff0@74
+|m+0#af5f00255&|a|k|e| +0#0000000&@1||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56
+|l+0#af5f00255&|m|a|k|e| +0#0000000&||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56
+@75
+|m+0#af5f00255&|a|k|e|!| +0#0000000&@1||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@55
+>l+0#af5f00255&|m|a|k|e|!| +0#0000000&||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@55
+@75
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|3|7|,|1| @9|B|o|t|
--- /dev/null
+>"+0#0000e05#ffffff0| |V|i|m| |:|s|o|r|t| |c|o|m@1|a|n|d| +0#0000000&@55
+|"+0#0000e05&| |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|C|m|d|S|e|p| |O|p|e|r|a|t|o|r| +0#0000000&@24
+@75
+@75
+|s+0#af5f00255&|o|r|t| +0#0000000&@70
+|s+0#af5f00255&|o|r|t|!| +0#0000000&@69
+@75
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|i+0#e000e06&|l|u| +0#0000000&@65
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|i+0#e000e06&|l|u| +0#0000000&@65
+@75
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|i+0#e000e06&|l|u| +0#0000000&@50
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|i+0#e000e06&|l|u| +0#0000000&@50
+@75
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|i|l|u| +0#0000000&@49
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|i|l|u| +0#0000000&@49
+@75
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|n+0#e000e06&|i|l|u| +0#0000000&@64
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|n+0#e000e06&|i|l|u| +0#0000000&@64
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|f+0#e000e06&|i|l|u| +0#0000000&@64
+@57|1|,|1| @10|T|o|p|
--- /dev/null
+|s+0#af5f00255#ffffff0|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|i|l|u| +0#0000000&@49
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|i|l|u| +0#0000000&@49
+@75
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|n+0#e000e06&|i|l|u| +0#0000000&@64
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|n+0#e000e06&|i|l|u| +0#0000000&@64
+>s+0#af5f00255&|o|r|t| +0#0000000&@1|f+0#e000e06&|i|l|u| +0#0000000&@64
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|f+0#e000e06&|i|l|u| +0#0000000&@64
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|x+0#e000e06&|i|l|u| +0#0000000&@64
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|x+0#e000e06&|i|l|u| +0#0000000&@64
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|o+0#e000e06&|i|l|u| +0#0000000&@64
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|o+0#e000e06&|i|l|u| +0#0000000&@64
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|b+0#e000e06&|i|l|u| +0#0000000&@64
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|b+0#e000e06&|i|l|u| +0#0000000&@64
+@75
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|n+0#e000e06&|i|l|u| +0#0000000&@49
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|n+0#e000e06&|i|l|u| +0#0000000&@49
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#e000e06&|i|l|u| +0#0000000&@49
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#e000e06&|i|l|u| +0#0000000&@49
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|x+0#e000e06&|i|l|u| +0#0000000&@49
+@57|1|9|,|1| @9|3|6|%|
--- /dev/null
+|s+0#af5f00255#ffffff0|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|x+0#e000e06&|i|l|u| +0#0000000&@49
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|x+0#e000e06&|i|l|u| +0#0000000&@49
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|o+0#e000e06&|i|l|u| +0#0000000&@49
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|o+0#e000e06&|i|l|u| +0#0000000&@49
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#e000e06&|i|l|u| +0#0000000&@49
+>s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#e000e06&|i|l|u| +0#0000000&@49
+@75
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|n|i|l|u| +0#0000000&@48
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|n|i|l|u| +0#0000000&@48
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|f|i|l|u| +0#0000000&@48
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|f|i|l|u| +0#0000000&@48
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|x|i|l|u| +0#0000000&@48
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|x|i|l|u| +0#0000000&@48
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|o|i|l|u| +0#0000000&@48
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|o|i|l|u| +0#0000000&@48
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|b|i|l|u| +0#0000000&@48
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|b|i|l|u| +0#0000000&@48
+@75
+|s+0#af5f00255&|o|r|t| +0#0000000&@1||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56
+@57|3|7|,|1| @9|8|6|%|
--- /dev/null
+|s+0#af5f00255#ffffff0|o|r|t| +0#0000000&@1||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56
+|s+0#af5f00255&|o|r|t|!| +0#0000000&||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@56
+@75
+|s+0#af5f00255&|o|r|t| +0#0000000&@1|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|||t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|i|l|u| +0#0000000&||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@35
+|s+0#af5f00255&|o|r|t|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|||t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|r+0#e000e06&|i|l|u| +0#0000000&||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@35
+> @74
+|~+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|
--- /dev/null
+>"+0#0000e05#ffffff0| |V|i|m| |:|*|v|i|m|g|r|e|p| |a|n|d| |:|*|v|i|m|g|r|e|p|a|d@1| |c|o|m@1|a|n|d|s| +0#0000000&@33
+|"+0#0000e05&| |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|V|i|m|g|r|e|p|F|i|l|e| |T|o|d|o| +0#0000000&@23
+|"+0#0000e05&| |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|C|m|d|S|e|p| |O|p|e|r|a|t|o|r| +0#0000000&@24
+|"+0#0000e05&| |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|V|i|m|g|r|e|p|B|a|r|E|s|c|a|p|e| |S|p|e|c|i|a|l| +0#0000000&@15
+@75
+@75
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@44
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@44
+@75
+|v+0#af5f00255&|i|m|g|r|e|p|!| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@43
+|v+0#af5f00255&|i|m|g|r|e|p|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@43
+@75
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&|g|j|f| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@41
+@75
+|"+0#0000e05&| |t|r|a|i|l|i|n|g| |b|a|r|,| |n|o| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@43
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|||t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#0000001#ffff4012|\+0#e000e06#ffffff0|||a+0#0000001#ffff4012|\+0#e000e06#ffffff0|||r+0#0000001#ffff4012|.|t|x|t| +0#0000000#ffffff0||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@26
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|"|t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#0000001#ffff4012|"|a|"|r|.|t|x|t| +0#0000000#ffffff0@2||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@26
+@75
+|v+0#af5f00255&|i|m|g|r|e|p|a|d@1| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@41
+@57|1|,|1| @10|T|o|p|
--- /dev/null
+| +0&#ffffff0@74
+|"+0#0000e05&| |t|r|a|i|l|i|n|g| |b|a|r|,| |n|o| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@43
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|||t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#0000001#ffff4012|\+0#e000e06#ffffff0|||a+0#0000001#ffff4012|\+0#e000e06#ffffff0|||r+0#0000001#ffff4012|.|t|x|t| +0#0000000#ffffff0||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@26
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|"|t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#0000001#ffff4012|"|a|"|r|.|t|x|t| +0#0000000#ffffff0@2||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@26
+@75
+>v+0#af5f00255&|i|m|g|r|e|p|a|d@1| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@41
+|v+0#af5f00255&|i|m|g|r|e|p|a|d@1| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@41
+@75
+|v+0#af5f00255&|i|m|g|r|e|p|a|d@1|!| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@40
+|v+0#af5f00255&|i|m|g|r|e|p|a|d@1|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@40
+@75
+|v+0#af5f00255&|i|m|g|r|e|p|a|d@1| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&|g|j|f| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@38
+@75
+|"+0#0000e05&| |t|r|a|i|l|i|n|g| |b|a|r|,| |n|o| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@43
+|v+0#af5f00255&|i|m|g|r|e|p|a|d@1| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|||t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#0000001#ffff4012|\+0#e000e06#ffffff0|||a+0#0000001#ffff4012|\+0#e000e06#ffffff0|||r+0#0000001#ffff4012|.|t|x|t| +0#0000000#ffffff0||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@23
+|v+0#af5f00255&|i|m|g|r|e|p|a|d@1| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|"|t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#0000001#ffff4012|"|a|"|r|.|t|x|t| +0#0000000#ffffff0@2||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@23
+@75
+|l+0#af5f00255&|v|i|m|g|r|e|p| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@43
+|l+0#af5f00255&|v|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@43
+@57|1|9|,|1| @9|2|6|%|
--- /dev/null
+|l+0#af5f00255#ffffff0|v|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@43
+@75
+|l+0#af5f00255&|v|i|m|g|r|e|p|!| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@42
+|l+0#af5f00255&|v|i|m|g|r|e|p|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@42
+@75
+>l+0#af5f00255&|v|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&|g|j|f| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@40
+@75
+|"+0#0000e05&| |t|r|a|i|l|i|n|g| |b|a|r|,| |n|o| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@43
+|l+0#af5f00255&|v|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|||t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#0000001#ffff4012|\+0#e000e06#ffffff0|||a+0#0000001#ffff4012|\+0#e000e06#ffffff0|||r+0#0000001#ffff4012|.|t|x|t| +0#0000000#ffffff0||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@25
+|l+0#af5f00255&|v|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|"|t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#0000001#ffff4012|"|a|"|r|.|t|x|t| +0#0000000#ffffff0@2||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@25
+@75
+|l+0#af5f00255&|v|i|m|g|r|e|p|a|d@1| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@40
+|l+0#af5f00255&|v|i|m|g|r|e|p|a|d@1| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@40
+@75
+|l+0#af5f00255&|v|i|m|g|r|e|p|a|d@1|!| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@39
+|l+0#af5f00255&|v|i|m|g|r|e|p|a|d@1|!| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@39
+@75
+|l+0#af5f00255&|v|i|m|g|r|e|p|a|d@1| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&|g|j|f| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0@37
+@75
+@57|3|7|,|1| @9|6|2|%|
--- /dev/null
+| +0&#ffffff0@74
+|"+0#0000e05&| |t|r|a|i|l|i|n|g| |b|a|r|,| |n|o| |t|a|i|l| |c|o|m@1|e|n|t| +0#0000000&@43
+|l+0#af5f00255&|v|i|m|g|r|e|p|a|d@1| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|||t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#0000001#ffff4012|\+0#e000e06#ffffff0|||a+0#0000001#ffff4012|\+0#e000e06#ffffff0|||r+0#0000001#ffff4012|.|t|x|t| +0#0000000#ffffff0||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@22
+|l+0#af5f00255&|v|i|m|g|r|e|p|a|d@1| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&|"|t|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|b+0#0000001#ffff4012|"|a|"|r|.|t|x|t| +0#0000000#ffffff0@2||+0#af5f00255&| +0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@22
+@75
+> @74
+|"+0#0000e05&| |f|i|l|e| |a|r|g|s| +0#0000000&@63
+@75
+|"+0#0000e05&| |m|u|l|t|i|p|l|e| |f|i|l|e|s| +0#0000000&@58
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0|b+0#0000001#ffff4012|a|r|.|t|x|t| +0#0000000#ffffff0@36
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|f+0#0000001#ffff4012|o@1|.|t|x|t| +0#0000000#ffffff0|b+0#0000001#ffff4012|a|r|.|t|x|t| +0#0000000#ffffff0@36
+@75
+|"+0#0000e05&| |w|i|l|d|c|a|r|d| |p|a|t@1|e|r|n|s| +0#0000000&@55
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|*+0#0000001#ffff4012@1|/|*|.|t|x|t| +0#0000000#ffffff0@43
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|*+0#0000001#ffff4012@1|/|*|.|t|x|t| +0#0000000#ffffff0@43
+@75
+|"+0#0000e05&| |s|p|e|c|i|a|l| |f|i|l|e|n|a|m|e| |c|h|a|r|a|c|t|e|r|s| +0#0000000&@45
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|p|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n| @2|%+0#0000001#ffff4012| +0#0000000#ffffff0@50
+|v+0#af5f00255&|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|%+0#0000001#ffff4012| +0#0000000#ffffff0@50
+@57|5@1|,|0|-|1| @7|9|8|%|
--- /dev/null
+|v+0#af5f00255#ffffff0|i|m|g|r|e|p| +0#0000000&|/+0#e000e06&|p+0#0000000&|a|\+0#e000e06&|%|(|t+0#0000000&@1|\+0#e000e06&|)|e+0#0000000&|r|n|/+0#e000e06&| +0#0000000&|%+0#0000001#ffff4012| +0#0000000#ffffff0@50
+> @74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|6|9|,|0|-|1| @7|B|o|t|
--- /dev/null
+" Vim :filter command
+" VIM_TEST_SETUP highlight link vimCmdSep Operator
+
+
+filter pa\%(tt\)ern oldfiles
+filter! pa\%(tt\)ern oldfiles
+
+filter /pa\%(tt\)ern/ oldfiles
+filter! /pa\%(tt\)ern/ oldfiles
+
+filter /pa\%(t|t\)ern/ oldfiles | echo "Foo"
+filter! /pa\%(t|t\)ern/ oldfiles | echo "Foo"
+
--- /dev/null
+" Vim :*grep and :*grepadd commands
+" VIM_TEST_SETUP hi link vimCmdSep Operator
+" VIM_TEST_SETUP hi link vimGrepBarEscape Special
+
+
+grep 'pat\|tern' foo.txt
+lgrep 'pat\|tern' foo.txt
+
+grep! 'pat\|tern' foo.txt
+lgrep! 'pat\|tern' foo.txt
+
+grepadd 'pat\|tern' foo.txt
+lgrepadd 'pat\|tern' foo.txt
+
+grepadd! 'pat\|tern' foo.txt
+lgrepadd! 'pat\|tern' foo.txt
+
+
+" special filename characters
+
+grep 'pat\|tern' %
+lgrep 'pat\|tern' %
+
+grep! 'pat\|tern' %
+lgrep! 'pat\|tern' %
+
+grepadd! 'pat\|tern' %
+lgrepadd! 'pat\|tern' %
+
+grepadd! 'pat\|tern' %
+lgrepadd! 'pat\|tern' %
+
+
+" trailing bar, no tail comment
+
+grep 'pat\|tern' foo.txt | echo "Foo"
+lgrep 'pat\|tern' foo.txt | echo "Foo"
+
+grep! 'pat\|tern' foo.txt | echo "Foo"
+lgrep! 'pat\|tern' foo.txt | echo "Foo"
+
+grepadd 'pat\|tern' foo.txt | echo "Foo"
+lgrepadd 'pat\|tern' foo.txt | echo "Foo"
+
+grepadd! 'pat\|tern' foo.txt | echo "Foo"
+lgrepadd! 'pat\|tern' foo.txt | echo "Foo"
+
--- /dev/null
+" Vim :helpgrep command
+
+
+helpgrep :help
+helpgrep :help@en
+helpgrep :h\%(elp\)\=
+
+lhelpgrep :help
+lhelpgrep :help@en
+lhelpgrep :h\%(elp\)\=
+
--- /dev/null
+" Vim :*make commands
+" VIM_TEST_SETUP highlight link vimCmdSep Operator
+" VIM_TEST_SETUP highlight link vimMakeBarEscape Special
+
+
+make
+lmake
+
+make!
+lmake!
+
+make -options target
+lmake -options target
+
+make! -options target
+lmake! -options target
+
+
+" special filename characters
+
+make %
+lmake %
+
+
+" trailing bar, no tail comment
+
+make tar\|get | echo "Foo"
+lmake tar\|get | echo "Foo"
+
+make! tar\|get | echo "Foo"
+lmake! tar\|get | echo "Foo"
+
+make | echo "Foo"
+lmake | echo "Foo"
+
+make! | echo "Foo"
+lmake! | echo "Foo"
+
--- /dev/null
+" Vim :sort command
+" VIM_TEST_SETUP highlight link vimCmdSep Operator
+
+
+sort
+sort!
+
+sort ilu
+sort! ilu
+
+sort /pa\%(tt\)ern/ ilu
+sort! /pa\%(tt\)ern/ ilu
+
+sort /pa\%(tt\)ern/ rilu
+sort! /pa\%(tt\)ern/ rilu
+
+sort nilu
+sort! nilu
+sort filu
+sort! filu
+sort xilu
+sort! xilu
+sort oilu
+sort! oilu
+sort bilu
+sort! bilu
+
+sort /pa\%(tt\)ern/ nilu
+sort! /pa\%(tt\)ern/ nilu
+sort /pa\%(tt\)ern/ filu
+sort! /pa\%(tt\)ern/ filu
+sort /pa\%(tt\)ern/ xilu
+sort! /pa\%(tt\)ern/ xilu
+sort /pa\%(tt\)ern/ oilu
+sort! /pa\%(tt\)ern/ oilu
+sort /pa\%(tt\)ern/ bilu
+sort! /pa\%(tt\)ern/ bilu
+
+sort /pa\%(tt\)ern/ rnilu
+sort! /pa\%(tt\)ern/ rnilu
+sort /pa\%(tt\)ern/ rfilu
+sort! /pa\%(tt\)ern/ rfilu
+sort /pa\%(tt\)ern/ rxilu
+sort! /pa\%(tt\)ern/ rxilu
+sort /pa\%(tt\)ern/ roilu
+sort! /pa\%(tt\)ern/ roilu
+sort /pa\%(tt\)ern/ rbilu
+sort! /pa\%(tt\)ern/ rbilu
+
+sort | echo "Foo"
+sort! | echo "Foo"
+
+sort /pa\%(t|t\)ern/ rilu | echo "Foo"
+sort! /pa\%(t|t\)ern/ rilu | echo "Foo"
+
--- /dev/null
+" Vim :*vimgrep and :*vimgrepadd commands
+" VIM_TEST_SETUP highlight link vimVimgrepFile Todo
+" VIM_TEST_SETUP highlight link vimCmdSep Operator
+" VIM_TEST_SETUP highlight link vimVimgrepBarEscape Special
+
+
+vimgrep pa\%(tt\)ern foo.txt
+vimgrep /pa\%(tt\)ern/ foo.txt
+
+vimgrep! pa\%(tt\)ern foo.txt
+vimgrep! /pa\%(tt\)ern/ foo.txt
+
+vimgrep /pa\%(tt\)ern/gjf foo.txt
+
+" trailing bar, no tail comment
+vimgrep /pa\%(t|t\)ern/ b\|a\|r.txt | echo "Foo"
+vimgrep /pa\%(t"t\)ern/ b"a"r.txt | echo "Foo"
+
+vimgrepadd pa\%(tt\)ern foo.txt
+vimgrepadd /pa\%(tt\)ern/ foo.txt
+
+vimgrepadd! pa\%(tt\)ern foo.txt
+vimgrepadd! /pa\%(tt\)ern/ foo.txt
+
+vimgrepadd /pa\%(tt\)ern/gjf foo.txt
+
+" trailing bar, no tail comment
+vimgrepadd /pa\%(t|t\)ern/ b\|a\|r.txt | echo "Foo"
+vimgrepadd /pa\%(t"t\)ern/ b"a"r.txt | echo "Foo"
+
+lvimgrep pa\%(tt\)ern foo.txt
+lvimgrep /pa\%(tt\)ern/ foo.txt
+
+lvimgrep! pa\%(tt\)ern foo.txt
+lvimgrep! /pa\%(tt\)ern/ foo.txt
+
+lvimgrep /pa\%(tt\)ern/gjf foo.txt
+
+" trailing bar, no tail comment
+lvimgrep /pa\%(t|t\)ern/ b\|a\|r.txt | echo "Foo"
+lvimgrep /pa\%(t"t\)ern/ b"a"r.txt | echo "Foo"
+
+lvimgrepadd pa\%(tt\)ern foo.txt
+lvimgrepadd /pa\%(tt\)ern/ foo.txt
+
+lvimgrepadd! pa\%(tt\)ern foo.txt
+lvimgrepadd! /pa\%(tt\)ern/ foo.txt
+
+lvimgrepadd /pa\%(tt\)ern/gjf foo.txt
+
+" trailing bar, no tail comment
+lvimgrepadd /pa\%(t|t\)ern/ b\|a\|r.txt | echo "Foo"
+lvimgrepadd /pa\%(t"t\)ern/ b"a"r.txt | echo "Foo"
+
+
+" file args
+
+" multiple files
+vimgrep pa\%(tt\)ern foo.txt bar.txt
+vimgrep /pa\%(tt\)ern/ foo.txt bar.txt
+
+" wildcard patterns
+vimgrep pa\%(tt\)ern **/*.txt
+vimgrep /pa\%(tt\)ern/ **/*.txt
+
+" special filename characters
+vimgrep pa\%(tt\)ern %
+vimgrep /pa\%(tt\)ern/ %
+
" Language: Vim script
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
" Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2025 Apr 06
+" Last Change: 2025 Apr 10
" Former Maintainer: Charles E. Campbell
" DO NOT CHANGE DIRECTLY.
" regular vim commands {{{2
" GEN_SYN_VIM: vimCommand normal, START_STR='syn keyword vimCommand contained', END_STR='nextgroup=vimBang'
syn keyword vimCommand contained abo[veleft] al[l] ar[gs] arga[dd] argd[elete] argdo argded[upe] arge[dit] argg[lobal] argl[ocal] argu[ment] as[cii] b[uffer] bN[ext] ba[ll] bad[d] balt bd[elete] bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bo[tright] bp[revious] br[ewind] brea[k] breaka[dd] breakd[el] breakl[ist] bro[wse] buffers bufd[o] bun[load] bw[ipeout] c[hange] cN[ext] cNf[ile] cabo[ve] cad[dbuffer] cadde[xpr] caddf[ile] caf[ter] cb[uffer] cbe[fore] cbel[ow] cbo[ttom] cc ccl[ose] cd cdo ce[nter] cex[pr] cf[ile] cfd[o] cfir[st] cg[etfile] cgetb[uffer] cgete[xpr] chd[ir] changes che[ckpath] checkt[ime] chi[story] cl[ist] cla[st] clo[se] cle[arjumps] cn[ext] cnew[er] cnf[ile] co[py] col[der] colo[rscheme] com[mand] comc[lear] comp[iler] con[tinue] conf[irm] nextgroup=vimBang
-syn keyword vimCommand contained cons[t] cope[n] cp[revious] cpf[ile] cq[uit] cr[ewind] cs[cope] cst[ag] cw[indow] d[elete] delm[arks] deb[ug] defc[ompile] defe[r] delf[unction] di[splay] dif[fupdate] diffg[et] diffo[ff] diffp[atch] diffpu[t] diffs[plit] difft[his] dig[raphs] disa[ssemble] dj[ump] dli[st] dr[op] ds[earch] dsp[lit] e[dit] ea[rlier] el[se] em[enu] en[dif] endfo[r] endt[ry] endw[hile] ene[w] ev[al] ex exi[t] exu[sage] f[ile] files filet[ype] filt[er] fin[d] fina[lly] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] foldd[oopen] folddoc[losed] foldo[pen] g[lobal] go[to] gr[ep] grepa[dd] gu[i] gv[im] h[elp] helpc[lose] helpf[ind] helpg[rep] helpt[ags] ha[rdcopy] hi[ghlight] hid[e] his[tory] hor[izontal] ij[ump] il[ist] imp[ort] int[ro] ip[ut] is[earch] nextgroup=vimBang
-syn keyword vimCommand contained isp[lit] j[oin] ju[mps] k kee[pmarks] keepj[umps] keepp[atterns] keepa[lt] l[ist] lN[ext] lNf[ile] la[st] lab[ove] lan[guage] lad[dexpr] laddb[uffer] laddf[ile] laf[ter] lat[er] lb[uffer] lbe[fore] lbel[ow] lbo[ttom] lc[d] lch[dir] lcl[ose] lcs[cope] ld[o] le[ft] lefta[bove] lex[pr] leg[acy] lf[ile] lfd[o] lfir[st] lg[etfile] lgetb[uffer] lgete[xpr] lgr[ep] lgrepa[dd] lh[elpgrep] lhi[story] ll lla[st] lli[st] lmak[e] lne[xt] lnew[er] lnf[ile] lo[adview] loc[kmarks] lockv[ar] lol[der] lop[en] lp[revious] lpf[ile] lr[ewind] lt[ag] lua luad[o] luaf[ile] lv[imgrep] lvimgrepa[dd] lw[indow] ls m[ove] ma[rk] mak[e] marks menut[ranslate] mes[sages] mk[exrc] mks[ession] mksp[ell] mkv[imrc] mkvie[w] mod[e] mz[scheme] mzf[ile] n[ext] nb[key] nextgroup=vimBang
-syn keyword vimCommand contained nbc[lose] nbs[tart] noa[utocmd] noh[lsearch] nos[wapfile] nu[mber] o[pen] ol[dfiles] on[ly] opt[ions] ow[nsyntax] p[rint] pa[ckadd] packl[oadall] pb[uffer] pc[lose] pe[rl] perld[o] ped[it] po[p] pp[op] pre[serve] prev[ious] pro[mptfind] promptr[epl] prof[ile] profd[el] ps[earch] pt[ag] ptN[ext] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] py[thon] pyd[o] pyf[ile] py3 py3d[o] python3 py3f[ile] pyx pyxd[o] pythonx pyxf[ile] q[uit] quita[ll] qa[ll] r[ead] rec[over] red[o] redr[aw] redraws[tatus] redrawt[abline] reg[isters] res[ize] ret[ab] rew[ind] ri[ght] rightb[elow] ru[ntime] rub[y] rubyd[o] rubyf[ile] rund[o] rv[iminfo] sN[ext] sa[rgument] sal[l] san[dbox] sav[eas] sb[uffer] sbN[ext] sba[ll] nextgroup=vimBang
-syn keyword vimCommand contained sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbp[revious] sbr[ewind] scr[iptnames] scripte[ncoding] scriptv[ersion] scs[cope] setf[iletype] sf[ind] sfir[st] sh[ell] sim[alt] sig[n] sil[ent] sla[st] sn[ext] so[urce] sor[t] sp[lit] spe[llgood] spelld[ump] spelli[nfo] spellr[epall] spellra[re] spellu[ndo] spellw[rong] spr[evious] sre[wind] st[op] sta[g] star[tinsert] startg[replace] startr[eplace] stopi[nsert] stj[ump] sts[elect] sun[hide] sus[pend] sv[iew] sw[apname] synti[me] sync[bind] smi[le] t tN[ext] ta[g] tags tab tabc[lose] tabd[o] tabe[dit] tabf[ind] tabfir[st] tabm[ove] tabl[ast] tabn[ext] tabnew tabo[nly] tabp[revious] tabN[ext] tabr[ewind] tabs tc[d] tch[dir] tcl tcld[o] tclf[ile] te[aroff] ter[minal] tf[irst] tj[ump] tl[ast] nextgroup=vimBang
-syn keyword vimCommand contained tn[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] u[ndo] undoj[oin] undol[ist] unh[ide] unlo[ckvar] uns[ilent] up[date] v[global] ve[rsion] verb[ose] vert[ical] vi[sual] vie[w] vim[grep] vimgrepa[dd] vim9[cmd] viu[sage] vne[w] vs[plit] w[rite] wN[ext] wa[ll] wi[nsize] winc[md] wind[o] winp[os] wn[ext] wp[revious] wq wqa[ll] wu[ndo] wv[iminfo] x[it] xa[ll] xr[estore] y[ank] z dl dell delel deletl deletel dp dep delp delep deletp deletep a i nextgroup=vimBang
+syn keyword vimCommand contained cons[t] cope[n] cp[revious] cpf[ile] cq[uit] cr[ewind] cs[cope] cst[ag] cw[indow] d[elete] delm[arks] deb[ug] defc[ompile] defe[r] delf[unction] di[splay] dif[fupdate] diffg[et] diffo[ff] diffp[atch] diffpu[t] diffs[plit] difft[his] dig[raphs] disa[ssemble] dj[ump] dli[st] dr[op] ds[earch] dsp[lit] e[dit] ea[rlier] el[se] em[enu] en[dif] endfo[r] endt[ry] endw[hile] ene[w] ev[al] ex exi[t] exu[sage] f[ile] files filet[ype] fin[d] fina[lly] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] foldd[oopen] folddoc[losed] foldo[pen] g[lobal] go[to] gu[i] gv[im] h[elp] helpc[lose] helpf[ind] helpt[ags] ha[rdcopy] hi[ghlight] hid[e] his[tory] hor[izontal] ij[ump] il[ist] imp[ort] int[ro] ip[ut] is[earch] isp[lit] j[oin] ju[mps] k kee[pmarks] nextgroup=vimBang
+syn keyword vimCommand contained keepj[umps] keepp[atterns] keepa[lt] l[ist] lN[ext] lNf[ile] la[st] lab[ove] lan[guage] lad[dexpr] laddb[uffer] laddf[ile] laf[ter] lat[er] lb[uffer] lbe[fore] lbel[ow] lbo[ttom] lc[d] lch[dir] lcl[ose] lcs[cope] ld[o] le[ft] lefta[bove] lex[pr] leg[acy] lf[ile] lfd[o] lfir[st] lg[etfile] lgetb[uffer] lgete[xpr] lgr[ep] lgrepa[dd] lhi[story] ll lla[st] lli[st] lmak[e] lne[xt] lnew[er] lnf[ile] lo[adview] loc[kmarks] lockv[ar] lol[der] lop[en] lp[revious] lpf[ile] lr[ewind] lt[ag] lua luad[o] luaf[ile] lw[indow] ls m[ove] ma[rk] marks menut[ranslate] mes[sages] mk[exrc] mks[ession] mksp[ell] mkv[imrc] mkvie[w] mod[e] mz[scheme] mzf[ile] n[ext] nb[key] nbc[lose] nbs[tart] noa[utocmd] noh[lsearch] nos[wapfile] nu[mber] o[pen] ol[dfiles] nextgroup=vimBang
+syn keyword vimCommand contained on[ly] opt[ions] ow[nsyntax] p[rint] pa[ckadd] packl[oadall] pb[uffer] pc[lose] pe[rl] perld[o] ped[it] po[p] pp[op] pre[serve] prev[ious] pro[mptfind] promptr[epl] prof[ile] profd[el] ps[earch] pt[ag] ptN[ext] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] py[thon] pyd[o] pyf[ile] py3 py3d[o] python3 py3f[ile] pyx pyxd[o] pythonx pyxf[ile] q[uit] quita[ll] qa[ll] r[ead] rec[over] red[o] redr[aw] redraws[tatus] redrawt[abline] reg[isters] res[ize] ret[ab] rew[ind] ri[ght] rightb[elow] ru[ntime] rub[y] rubyd[o] rubyf[ile] rund[o] rv[iminfo] sN[ext] sa[rgument] sal[l] san[dbox] sav[eas] sb[uffer] sbN[ext] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbp[revious] sbr[ewind] scr[iptnames] scripte[ncoding] nextgroup=vimBang
+syn keyword vimCommand contained scriptv[ersion] scs[cope] setf[iletype] sf[ind] sfir[st] sh[ell] sim[alt] sig[n] sil[ent] sla[st] sn[ext] so[urce] sp[lit] spe[llgood] spelld[ump] spelli[nfo] spellr[epall] spellra[re] spellu[ndo] spellw[rong] spr[evious] sre[wind] st[op] sta[g] star[tinsert] startg[replace] startr[eplace] stopi[nsert] stj[ump] sts[elect] sun[hide] sus[pend] sv[iew] sw[apname] synti[me] sync[bind] smi[le] t tN[ext] ta[g] tags tab tabc[lose] tabd[o] tabe[dit] tabf[ind] tabfir[st] tabm[ove] tabl[ast] tabn[ext] tabnew tabo[nly] tabp[revious] tabN[ext] tabr[ewind] tabs tc[d] tch[dir] tcl tcld[o] tclf[ile] te[aroff] ter[minal] tf[irst] tj[ump] tl[ast] tn[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] u[ndo] undoj[oin] undol[ist] unh[ide] unlo[ckvar] nextgroup=vimBang
+syn keyword vimCommand contained uns[ilent] up[date] v[global] ve[rsion] verb[ose] vert[ical] vi[sual] vie[w] vim9[cmd] viu[sage] vne[w] vs[plit] w[rite] wN[ext] wa[ll] wi[nsize] winc[md] wind[o] winp[os] wn[ext] wp[revious] wq wqa[ll] wu[ndo] wv[iminfo] x[it] xa[ll] xr[estore] y[ank] z dl dell delel deletl deletel dp dep delp delep deletp deletep a i nextgroup=vimBang
" Lower priority for _new_ to distinguish constructors from the command.
syn match vimCommand contained "\<new\>(\@!"
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,vimFor,vimFunction,vimFuncFold,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimLockvar,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimRedir,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList
+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 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
syn region vimExecute matchgroup=vimCommand start="\<exe\%[cute]\>" skip=+\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimExprList transparent
+" Filter: {{{2
+" ======
+syn match vimExFilter "\<filt\%[er]\>" skipwhite nextgroup=vimExFilterBang,vimExFilterPattern
+syn match vimExFilterBang contained "\a\@1<=!" skipwhite nextgroup=vimExFilterPattern
+syn region vimExFilterPattern contained
+ \ start="[[:ident:]]"
+ \ end="\ze[[:space:]\n]"
+ \ skipwhite nextgroup=@vimCmdList
+ \ contains=@vimSubstList
+ \ oneline
+syn region vimExFilterPattern contained
+ \ matchgroup=Delimiter
+ \ start="\z([^[:space:][:ident:]|"]\)"
+ \ skip="\\\\\|\\\z1"
+ \ end="\z1"
+ \ skipwhite nextgroup=@vimCmdList
+ \ contains=@vimSubstList
+ \ oneline
+
+" Grep and Make: {{{2
+" =============
+" | is the command separator, escaped with \| all other backslashes are passed through literally, no tail comments
+syn match vimGrep "\<l\=gr\%[ep]\>" skipwhite nextgroup=vimGrepBang,vimGrepArgs,vimCmdSep
+syn match vimGrepadd "\<l\=grepa\%[dd]\>" skipwhite nextgroup=vimGrepBang,vimGrepArgs,vimCmdSep
+syn region vimGrepArgs contained
+ \ start="|\@!\S"
+ \ skip=+\n\s*\%(\\\|[#"]\\ \)+
+ \ matchgroup=vimCmdSep
+ \ end="|"
+ \ end="$"
+ "\ TODO: include vimSpecFile
+ \ contains=vimGrepBarEscape
+syn match vimGrepBarEscape contained "\\|"
+syn match vimGrepBang contained "\a\@1<=!" skipwhite nextgroup=vimGrepArgs,vimCmdSep
+
+syn match vimMake "\<l\=make\=\>" skipwhite nextgroup=vimMakeBang,vimMakeArgs,vimCmdSep
+syn region vimMakeArgs contained
+ \ start="|\@!\S"
+ \ skip=+\n\s*\%(\\\|[#"]\\ \)+
+ \ matchgroup=vimCmdSep
+ \ end="|"
+ \ end="$"
+ "\ TODO: include vimSpecFile
+ \ contains=vimMakeBarEscape
+syn match vimMakeBarEscape contained "\\|"
+syn match vimMakeBang contained "\a\@1<=!" skipwhite nextgroup=vimMakeArgs,vimCmdSep
+
+syn match vimHelpgrep "\<l\=helpg\%[rep]\>" skipwhite nextgroup=vimHelpgrepBang,vimHelpgrepPattern
+syn region vimHelpgrepPattern contained
+ \ start="\S"
+ \ matchgroup=Special
+ \ end="@\w\w\>"
+ \ end="$"
+ \ contains=@vimSubstList
+ \ oneline
+
+" Vimgrep: {{{2
+" =======
+syn match vimVimgrep "\<l\=vim\%[grep]\>" skipwhite nextgroup=vimVimgrepBang,vimVimgrepPattern
+syn match vimVimgrepadd "\<l\=vimgrepa\%[dd]\>" skipwhite nextgroup=vimVimgrepBang,vimVimgrepPattern
+syn match vimVimgrepBang contained "\a\@1<=!" skipwhite nextgroup=vimVimgrepPattern
+syn region vimVimgrepPattern contained
+ \ start="[[:ident:]]"
+ \ end="\ze[[:space:]\n]"
+ \ skipwhite nextgroup=vimVimgrepFile,vimCmdSep
+ \ contains=@vimSubstList
+ \ oneline
+syn region vimVimgrepPattern contained
+ \ matchgroup=Delimiter
+ \ start="\z([^[:space:][:ident:]|"]\)"
+ \ skip="\\\\\|\\\z1"
+ \ end="\z1"
+ \ skipwhite nextgroup=vimVimgrepFlags,vimVimgrepFile,vimCmdSep
+ \ contains=@vimSubstList
+ \ oneline
+syn match vimVimgrepEscape contained "\\\%(\\|\|.\)"
+syn match vimVimgrepBarEscape contained "\\|"
+syn region vimVimgrepFile contained
+ \ start="|\@!\S"
+ \ matchgroup=vimCmdSep
+ \ end="|"
+ \ end="\ze\s"
+ \ end="$"
+ \ skipwhite nextgroup=vimVimgrepFile
+ \ contains=vimSpecFile,vimVimgrepEscape,vimVimgrepBarEscape
+syn match vimVimgrepFlags contained "\<[gjf]\{,3\}\>" skipwhite nextgroup=vimVimgrepfile
+
" Maps: {{{2
" ====
" GEN_SYN_VIM: vimCommand map, START_STR='syn keyword vimMap', END_STR='skipwhite nextgroup=vimMapMod,vimMapLhs'
syn match vimSleepBang contained "\a\@1<=!" skipwhite nextgroup=vimSleepArg
syn match vimSleepArg contained "\<\%(\d\+\)\=m\=\>"
+" Sort: {{{2
+" ====
+syn match vimSort "\<sort\=\>" skipwhite nextgroup=vimSortBang,@vimSortOptions,vimSortPattern,vimCmdSep
+syn match vimSortBang contained "\a\@1<=!" skipwhite nextgroup=@vimSortOptions,vimSortPattern,vimCmdSep
+syn match vimSortOptionsError contained "\a\+"
+syn match vimSortOptions contained "\<[ilur]*[nfxob]\=[ilur]*\>" skipwhite nextgroup=vimSortPattern,vimCmdSep
+syn region vimSortPattern contained
+ \ matchgroup=Delimiter
+ \ start="\z([^[:space:][:alpha:]|]\)"
+ \ skip="\\\\\|\\\z1"
+ \ end="\z1"
+ \ skipwhite nextgroup=@vimSortOptions,vimCmdSep
+ \ contains=@vimSubstList
+ \ oneline
+
+syn cluster vimSortOptions contains=vimSortOptions,vimSortOptionsError
+
" Syntax: {{{2
"=======
syn match vimGroupList contained "[^[:space:],]\+\%(\s*,\s*[^[:space:],]\+\)*" contains=vimGroupSpecial
hi def link vimHiKeyError vimError
hi def link vimMapModErr vimError
hi def link vimShebangError vimError
+ hi def link vimSortOptionsError Error
hi def link vimSubstFlagErr vimError
hi def link vimSynCaseError vimError
hi def link vimSyncError vimError
hi def link vimEnvvar PreProc
hi def link vimError Error
hi def link vimEscape Special
+ hi def link vimExFilter vimCommand
+ hi def link vimExFilterBang vimCommand
hi def link vimFBVar vimVar
hi def link vimFgBgAttrib vimHiAttrib
hi def link vimFuncEcho vimCommand
hi def link vimFuncParamEquals vimOper
hi def link vimFuncScope vimVarScope
hi def link vimFuncSID vimNotation
+ hi def link vimGrep vimCommand
+ hi def link vimGrepadd vimCommand
+ hi def link vimGrepBang vimBang
hi def link vimGroupAdd vimSynOption
hi def link vimGroupName Normal
hi def link vimGroupRem vimSynOption
hi def link vimGroupSpecial Special
hi def link vimGroup Type
+ hi def link vimHelpgrep vimCommand
hi def link vimHiAttrib PreProc
hi def link vimHiBang vimBang
hi def link vimHiClear Type
hi def link vimLetHereDocStop Special
hi def link vimLetRegister vimRegister
hi def link vimLineComment vimComment
+ hi def link vimMake vimCommand
+ hi def link vimMakeadd vimCommand
+ hi def link vimMakeBang vimBang
hi def link vimMapBang vimBang
hi def link vimMapLeader vimBracket
hi def link vimMapLeaderKey vimNotation
hi def link vimSleep vimCommand
hi def link vimSleepArg Constant
hi def link vimSleepBang vimBang
+ hi def link vimSort vimCommand
+ hi def link vimSortBang vimBang
+ hi def link vimSortOptions Special
hi def link vimSpecFile Identifier
hi def link vimSpecFileMod vimSpecFile
hi def link vimSpecial Type
hi def link vimUserFunc Normal
hi def link vimVar Normal
hi def link vimVarScope Identifier
+ hi def link vimVimgrep vimCommand
+ hi def link vimVimgrepadd vimCommand
+ hi def link vimVimgrepBang vimBang
+ hi def link vimVimgrepFlags Special
hi def link vimVimVar Identifier
hi def link vimVimVarName Identifier
hi def link vimWarn WarningMsg