runtime(vim): Update base-syntax, improve performance Commit: https://github.com/vim/vim/commit/68ba6c2c6c165796225f321597341a464fd72b63 Author: Doug Kearns <dougkea...@gmail.com> Date: Sun Feb 16 16:40:12 2025 +0100
runtime(vim): Update base-syntax, improve performance Contain the vimNotation syntax group, matching this at top level is unnecessary and very slow. The removed vimString and vimNumber definitions are broken and/or never match. They have long been replaced by newer definitions. closes: #16645 Signed-off-by: Doug Kearns <dougkea...@gmail.com> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/runtime/syntax/generator/vim.vim.base b/runtime/syntax/generator/vim.vim.base index d2ddd1c90..009b2083b 100644 --- a/runtime/syntax/generator/vim.vim.base +++ b/runtime/syntax/generator/vim.vim.base @@ -2,7 +2,7 @@ " Language: Vim script " Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com> " Doug Kearns <dougkea...@gmail.com> -" Last Change: 2025 Feb 13 +" Last Change: 2025 Feb 16 " Former Maintainer: Charles E. Campbell " DO NOT CHANGE DIRECTLY. @@ -199,7 +199,6 @@ syn match vimNumber '\<0o\=\o\+' skipwhite nextgroup=vimGlobal,vimSubst1,@vimC syn match vimNumber '\<0x\x\+' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment,vimSubscript syn match vimNumber '\<0z\>' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment,vimSubscript -syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment syn case match " All vimCommands are contained by vimIsCommand. {{{2 @@ -360,7 +359,7 @@ syn match vim9LambdaOperatorComment contained "#.*" skipwhite skipempty nextgrou syn cluster vimFuncList contains=vimFuncBang,vimFunctionError,vimFuncKey,vimFuncScope,vimFuncSID,Tag syn cluster vimDefList contains=vimFuncBang,vimFunctionError,vimDefKey,vimFuncScope,vimFuncSID,Tag -syn cluster vimFuncBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold +syn cluster vimFuncBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold syn cluster vimFuncBodyList contains=@vimFuncBodyCommon,vimComment,vimLineComment,vimInsert,vimConst,vimLet,vimSearch syn cluster vimDefBodyList contains=@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Block,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9LhsVariable,vim9LhsVariableList,vim9LhsRegister,vim9Search,@vimSpecialVar @@ -630,7 +629,10 @@ syn match vimCommentError contained +".*+ syn match vimEnvvar "\$\I\i*" syn match vimEnvvar "\${\I\i*}" -" In-String Specials: {{{2 +" Strings {{{2 +" ======= + +" In-String Specials: " Try to catch strings, if nothing else matches (therefore it must precede the others!) " vimEscapeBrace handles ["] []"] (ie. "s don't terminate string inside []) syn region vimEscapeBrace oneline contained transparent start="[^\]\(\\\)*\[\zs\^\=\]\=" skip="\\\|\\]" end="]"me=e-1 @@ -643,8 +645,6 @@ syn cluster vimStringGroup contains=vimEscape,vimEscapeBrace,vimPatSep,vimNotPat syn region vimString oneline keepend matchgroup=vimString start=+[^a-zA-Z>\@]"+lc=1 skip=+\\\|\"+ matchgroup=vimStringEnd end=+"+ nextgroup=vimSubscript contains=@vimStringGroup extend syn region vimString oneline matchgroup=vimString start=+[^a-zA-Z>\@]'+lc=1 end=+'+ nextgroup=vimSubscript contains=vimQuoteEscape extend "syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\|\+" end="/" contains=@vimStringGroup " see tst45.vim -syn match vimString contained +"[^"]*\$+ skipnl nextgroup=vimStringCont -syn match vimStringCont contained +\(\\\|.\)\{-}[^\]"+ syn match vimEscape contained "\." " syn match vimEscape contained +\[befnrt\"]+ @@ -685,9 +685,6 @@ syn match vimSubstFlags contained "[&cegiIlnpr#]\+" syn match vimSubstDelim contained "\" syn match vimSubstPat contained "\\ze[/?&]" contains=vimSubstDelim nextgroup=vimSubstRep4 -" 'String': {{{2 -syn match vimString "[^(,]'[^']\{-}\zs'" - " Marks, Registers, Addresses, Filters: {{{2 syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1 syn match vimMark "'[[\]{}()<>]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1 @@ -875,22 +872,22 @@ syn match vimMenutranslateComment +".*+ contained containedin=vimMenutranslate " Angle-Bracket Notation: (tnx to Michael Geddes) {{{2 " ====================== syn case ignore -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd]-\)\{0,4}x\=\%(f\d\{1,2}\|[^ :]\|space\|bar\|bslash\|nl\|newline\|lf\|linefeed\|cr\|retu\%[rn]\|enter\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|csi\|right\|paste\%(start\|end\)\|left\|help\|undo\|k\=insert\|ins\|mouse\|[kz]\=home\|[kz]\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\%(page\)\=\%(\|down\|up\|k\d\>\)\)>" contains=vimBracket - -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(net\|dec\|jsb\|pterm\|urxvt\|sgr\)mouse>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(left\|middle\|right\)\%(mouse\|drag\|release\)>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}left\%(mouse\|release\)nm>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}x[12]\%(mouse\|drag\|release\)>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}sgrmouserelease>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}mouse\%(up\|down\|move\)>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}scrollwheel\%(up\|down\|right\|left\)>" contains=vimBracket - -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%(sid\|nop\|nul\|lt\|drop\)>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%(snr\|plug\|cursorhold\|ignore\|cmd\|scriptcmd\|focus\%(gained\|lost\)\)>" contains=vimBracket -syn match vimNotation '\%(\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket -syn match vimNotation '\%#=1\%(\\|<lt>\)\=<\%(q-\)\=\%(line[12]\|count\|bang\|reg\|args\|mods\|f-args\|f-mods\|lt\)>' contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([cas]file\|abuf\|amatch\|cexpr\|cword\|cWORD\|client\|stack\|script\|sf\=lnum\)>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd]-\)\{0,4}char-\%(\d\+\|0\o\+\|0x\x\+\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd]-\)\{0,4}x\=\%(f\d\{1,2}\|[^ :]\|space\|bar\|bslash\|nl\|newline\|lf\|linefeed\|cr\|retu\%[rn]\|enter\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|csi\|right\|paste\%(start\|end\)\|left\|help\|undo\|k\=insert\|ins\|mouse\|[kz]\=home\|[kz]\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\%(page\)\=\%(\|down\|up\|k\d\>\)\)>" contains=vimBracket + +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(net\|dec\|jsb\|pterm\|urxvt\|sgr\)mouse>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(left\|middle\|right\)\%(mouse\|drag\|release\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}left\%(mouse\|release\)nm>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}x[12]\%(mouse\|drag\|release\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}sgrmouserelease>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}mouse\%(up\|down\|move\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}scrollwheel\%(up\|down\|right\|left\)>" contains=vimBracket + +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%(sid\|nop\|nul\|lt\|drop\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%(snr\|plug\|cursorhold\|ignore\|cmd\|scriptcmd\|focus\%(gained\|lost\)\)>" contains=vimBracket +syn match vimNotation contained '\%(\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket +syn match vimNotation contained '\%#=1\%(\\|<lt>\)\=<\%(q-\)\=\%(line[12]\|count\|bang\|reg\|args\|mods\|f-args\|f-mods\|lt\)>' contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([cas]file\|abuf\|amatch\|cexpr\|cword\|cWORD\|client\|stack\|script\|sf\=lnum\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd]-\)\{0,4}char-\%(\d\+\|0\o\+\|0x\x\+\)>" contains=vimBracket syn match vimBracket contained "[\<>]" syn case match @@ -916,7 +913,7 @@ if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror") syn match vimBufnrWarn /\<bufnr\s*(\s*["']\.['"]\s*)/ endif -syn match vimNotFunc "\<if\>\|\<el\%[seif]\>\|\<retu\%[rn]\>\|\<while\>" skipwhite nextgroup=@vimExprList,vimNotation +syn match vimNotFunc "\%#=1\<\%(if\|el\%[seif]\|retu\%[rn]\|while\)\>" skipwhite nextgroup=@vimExprList,vimNotation " Match: {{{2 " ===== diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_00.dump b/runtime/syntax/testdir/dumps/vim_key_notation_00.dump index ed58e2fde..ea3711595 100644 --- a/runtime/syntax/testdir/dumps/vim_key_notation_00.dump +++ b/runtime/syntax/testdir/dumps/vim_key_notation_00.dump @@ -1,20 +1,20 @@ >"+0#0000e05#ffffff0| |K|e|y| |n|o|t|a|t|i|o|n| +0#0000000&@60 @75 -|<+0#e000e06&|S|p|a|c|e|>| +0#0000000&@67 -|<+0#e000e06&|T|a|b|>| +0#0000000&@69 -|<+0#e000e06&|T|a|b|>| +0#0000000&@69 -|<+0#e000e06&|N|L|>| +0#0000000&@70 -|<+0#e000e06&|N|e|w|L|i|n|e|>| +0#0000000&@65 -|<+0#e000e06&|L|i|n|e|F|e@1|d|>| +0#0000000&@64 -|<+0#e000e06&|L|F|>| +0#0000000&@70 -|<+0#e000e06&|C|R|>| +0#0000000&@70 -|<+0#e000e06&|R|e|t|u|r|n|>| +0#0000000&@66 -|<+0#e000e06&|E|n|t|e|r|>| +0#0000000&@67 -|<+0#e000e06&|B|S|>| +0#0000000&@70 -|<+0#e000e06&|B|a|c|k|S|p|a|c|e|>| +0#0000000&@63 -|<+0#e000e06&|E|s|c|>| +0#0000000&@69 -|<+0#e000e06&|C|S|I|>| +0#0000000&@69 -|<+0#e000e06&|x|C|S|I|>| +0#0000000&@68 -|<+0#e000e06&|B|a|r|>| +0#0000000&@69 -|<+0#e000e06&|B|s|l|a|s|h|>| +0#0000000&@66 +|m+0#af5f00255&|a|p| +0#0000000&|f|o@1| @67 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|S|p|a|c|e|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|T|a|b|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|T|a|b|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|N|L|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|N|e|w|L|i|n|e|>| +0#0000000&@57 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|L|i|n|e|F|e@1|d|>| +0#0000000&@56 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|L|F|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|C|R|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|R|e|t|u|r|n|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|E|n|t|e|r|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|B|S|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|B|a|c|k|S|p|a|c|e|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|E|s|c|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|C|S|I|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|C|S|I|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|B|a|r|>| +0#0000000&@61 @57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_01.dump b/runtime/syntax/testdir/dumps/vim_key_notation_01.dump index 0cbf0ee0f..b14d575da 100644 --- a/runtime/syntax/testdir/dumps/vim_key_notation_01.dump +++ b/runtime/syntax/testdir/dumps/vim_key_notation_01.dump @@ -1,20 +1,20 @@ -|<+0#e000e06#ffffff0|B|a|c|k|S|p|a|c|e|>| +0#0000000&@63 -|<+0#e000e06&|E|s|c|>| +0#0000000&@69 -|<+0#e000e06&|C|S|I|>| +0#0000000&@69 -|<+0#e000e06&|x|C|S|I|>| +0#0000000&@68 -|<+0#e000e06&|B|a|r|>| +0#0000000&@69 -><+0#e000e06&|B|s|l|a|s|h|>| +0#0000000&@66 -|<+0#e000e06&|D|e|l|>| +0#0000000&@69 -|<+0#e000e06&|D|e|l|e|t|e|>| +0#0000000&@66 -|<+0#e000e06&|k|D|e|l|>| +0#0000000&@68 -|<+0#e000e06&|U|p|>| +0#0000000&@70 -|<+0#e000e06&|D|o|w|n|>| +0#0000000&@68 -|<+0#e000e06&|L|e|f|t|>| +0#0000000&@68 -|<+0#e000e06&|R|i|g|h|t|>| +0#0000000&@67 -|<+0#e000e06&|x|U|p|>| +0#0000000&@69 -|<+0#e000e06&|x|D|o|w|n|>| +0#0000000&@67 -|<+0#e000e06&|x|L|e|f|t|>| +0#0000000&@67 -|<+0#e000e06&|x|R|i|g|h|t|>| +0#0000000&@66 -|<+0#e000e06&|P|a|s|t|e|S|t|a|r|t|>| +0#0000000&@62 -|<+0#e000e06&|P|a|s|t|e|E|n|d|>| +0#0000000&@64 -@57|1|9|,|1| @10|9|%| +| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|<+0#e000e06&|B|S|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|B|a|c|k|S|p|a|c|e|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|E|s|c|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|C|S|I|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|C|S|I|>| +0#0000000&@60 +@6>\+0#e000e06&| +0#0000000&|<+0#e000e06&|B|a|r|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|B|s|l|a|s|h|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|D|e|l|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|D|e|l|e|t|e|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|D|e|l|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|U|p|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|D|o|w|n|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|L|e|f|t|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|R|i|g|h|t|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|U|p|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|D|o|w|n|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|L|e|f|t|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|R|i|g|h|t|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|P|a|s|t|e|S|t|a|r|t|>| +0#0000000&@54 +@57|1|9|,|7| @10|8|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_02.dump b/runtime/syntax/testdir/dumps/vim_key_notation_02.dump index 01fca78c4..5826a4ecc 100644 --- a/runtime/syntax/testdir/dumps/vim_key_notation_02.dump +++ b/runtime/syntax/testdir/dumps/vim_key_notation_02.dump @@ -1,20 +1,20 @@ -|<+0#e000e06#ffffff0|P|a|s|t|e|E|n|d|>| +0#0000000&@64 -|<+0#e000e06&|F|1|>| +0#0000000&@70 -|<+0#e000e06&|F|2|>| +0#0000000&@70 -|<+0#e000e06&|F|3|>| +0#0000000&@70 -|<+0#e000e06&|F|4|>| +0#0000000&@70 -><+0#e000e06&|F|5|>| +0#0000000&@70 -|<+0#e000e06&|F|6|>| +0#0000000&@70 -|<+0#e000e06&|F|7|>| +0#0000000&@70 -|<+0#e000e06&|F|8|>| +0#0000000&@70 -|<+0#e000e06&|F|9|>| +0#0000000&@70 -|<+0#e000e06&|F|1|0|>| +0#0000000&@69 -|<+0#e000e06&|F|1@1|>| +0#0000000&@69 -|<+0#e000e06&|F|1|2|>| +0#0000000&@69 -|<+0#e000e06&|F|1|3|>| +0#0000000&@69 -|<+0#e000e06&|F|1|4|>| +0#0000000&@69 -|<+0#e000e06&|F|1|5|>| +0#0000000&@69 -|<+0#e000e06&|F|1|6|>| +0#0000000&@69 -|<+0#e000e06&|F|1|7|>| +0#0000000&@69 -|<+0#e000e06&|F|1|8|>| +0#0000000&@69 -@57|3|7|,|1| @9|2|1|%| +| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|<+0#e000e06&|P|a|s|t|e|S|t|a|r|t|>| +0#0000000&@54 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|P|a|s|t|e|E|n|d|>| +0#0000000&@56 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|2|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|3|>| +0#0000000&@62 +@6>\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|4|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|5|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|6|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|7|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|8|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|9|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1|0|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1@1|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1|2|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1|3|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1|4|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1|5|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1|6|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1|7|>| +0#0000000&@61 +@57|3|7|,|7| @9|2|1|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_03.dump b/runtime/syntax/testdir/dumps/vim_key_notation_03.dump index dfdf8902f..ccb9f026d 100644 --- a/runtime/syntax/testdir/dumps/vim_key_notation_03.dump +++ b/runtime/syntax/testdir/dumps/vim_key_notation_03.dump @@ -1,20 +1,20 @@ -|<+0#e000e06#ffffff0|F|1|8|>| +0#0000000&@69 -|<+0#e000e06&|F|1|9|>| +0#0000000&@69 -|<+0#e000e06&|F|2|0|>| +0#0000000&@69 -|<+0#e000e06&|F|2|1|>| +0#0000000&@69 -|<+0#e000e06&|F|2@1|>| +0#0000000&@69 -><+0#e000e06&|F|2|3|>| +0#0000000&@69 -|<+0#e000e06&|F|2|4|>| +0#0000000&@69 -|<+0#e000e06&|F|2|5|>| +0#0000000&@69 -|<+0#e000e06&|F|2|6|>| +0#0000000&@69 -|<+0#e000e06&|F|2|7|>| +0#0000000&@69 -|<+0#e000e06&|F|2|8|>| +0#0000000&@69 -|<+0#e000e06&|F|2|9|>| +0#0000000&@69 -|<+0#e000e06&|F|3|0|>| +0#0000000&@69 -|<+0#e000e06&|F|3|1|>| +0#0000000&@69 -|<+0#e000e06&|F|3|2|>| +0#0000000&@69 -|<+0#e000e06&|F|3@1|>| +0#0000000&@69 -|<+0#e000e06&|F|3|4|>| +0#0000000&@69 -|<+0#e000e06&|F|3|5|>| +0#0000000&@69 -|<+0#e000e06&|F|3|6|>| +0#0000000&@69 -@57|5@1|,|1| @9|3|4|%| +| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1|7|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1|8|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|1|9|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|2|0|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|2|1|>| +0#0000000&@61 +@6>\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|2@1|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|2|3|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|2|4|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|2|5|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|2|6|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|2|7|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|2|8|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|2|9|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|3|0|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|3|1|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|3|2|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|3@1|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|3|4|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|3|5|>| +0#0000000&@61 +@57|5@1|,|7| @9|3@1|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_04.dump b/runtime/syntax/testdir/dumps/vim_key_notation_04.dump index 8820c2680..d34618752 100644 --- a/runtime/syntax/testdir/dumps/vim_key_notation_04.dump +++ b/runtime/syntax/testdir/dumps/vim_key_notation_04.dump @@ -1,20 +1,20 @@ -|<+0#e000e06#ffffff0|F|3|6|>| +0#0000000&@69 -|<+0#e000e06&|F|3|7|>| +0#0000000&@69 -|<+0#e000e06&|x|F|1|>| +0#0000000&@69 -|<+0#e000e06&|x|F|2|>| +0#0000000&@69 -|<+0#e000e06&|x|F|3|>| +0#0000000&@69 -><+0#e000e06&|x|F|4|>| +0#0000000&@69 -|<+0#e000e06&|H|e|l|p|>| +0#0000000&@68 -|<+0#e000e06&|U|n|d|o|>| +0#0000000&@68 -|<+0#e000e06&|I|n|s|e|r|t|>| +0#0000000&@66 -|<+0#e000e06&|I|n|s|>| +0#0000000&@69 -|<+0#e000e06&|k|I|n|s|e|r|t|>| +0#0000000&@65 -|<+0#e000e06&|H|o|m|e|>| +0#0000000&@68 -|<+0#e000e06&|k|H|o|m|e|>| +0#0000000&@67 -|<+0#e000e06&|x|H|o|m|e|>| +0#0000000&@67 -|<+0#e000e06&|z|H|o|m|e|>| +0#0000000&@67 -|<+0#e000e06&|E|n|d|>| +0#0000000&@69 -|<+0#e000e06&|k|E|n|d|>| +0#0000000&@68 -|<+0#e000e06&|x|E|n|d|>| +0#0000000&@68 -|<+0#e000e06&|z|E|n|d|>| +0#0000000&@68 -@57|7|3|,|1| @9|4|6|%| +| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|3|5|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|3|6|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|3|7|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|F|1|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|F|2|>| +0#0000000&@61 +@6>\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|F|3|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|F|4|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|H|e|l|p|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|U|n|d|o|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|I|n|s|e|r|t|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|I|n|s|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|I|n|s|e|r|t|>| +0#0000000&@57 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|H|o|m|e|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|H|o|m|e|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|H|o|m|e|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|z|H|o|m|e|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|E|n|d|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|E|n|d|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|E|n|d|>| +0#0000000&@60 +@57|7|3|,|7| @9|4|5|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_05.dump b/runtime/syntax/testdir/dumps/vim_key_notation_05.dump index 939bf89ba..2962483d0 100644 --- a/runtime/syntax/testdir/dumps/vim_key_notation_05.dump +++ b/runtime/syntax/testdir/dumps/vim_key_notation_05.dump @@ -1,20 +1,20 @@ -|<+0#e000e06#ffffff0|z|E|n|d|>| +0#0000000&@68 -|<+0#e000e06&|P|a|g|e|U|p|>| +0#0000000&@66 -|<+0#e000e06&|P|a|g|e|D|o|w|n|>| +0#0000000&@64 -|<+0#e000e06&|k|P|a|g|e|U|p|>| +0#0000000&@65 -|<+0#e000e06&|k|P|a|g|e|D|o|w|n|>| +0#0000000&@63 -><+0#e000e06&|k|P|l|u|s|>| +0#0000000&@67 -|<+0#e000e06&|k|M|i|n|u|s|>| +0#0000000&@66 -|<+0#e000e06&|k|D|i|v|i|d|e|>| +0#0000000&@65 -|<+0#e000e06&|k|M|u|l|t|i|p|l|y|>| +0#0000000&@63 -|<+0#e000e06&|k|E|n|t|e|r|>| +0#0000000&@66 -|<+0#e000e06&|k|P|o|i|n|t|>| +0#0000000&@66 -|<+0#e000e06&|k|0|>| +0#0000000&@70 -|<+0#e000e06&|k|1|>| +0#0000000&@70 -|<+0#e000e06&|k|2|>| +0#0000000&@70 -|<+0#e000e06&|k|3|>| +0#0000000&@70 -|<+0#e000e06&|k|4|>| +0#0000000&@70 -|<+0#e000e06&|k|5|>| +0#0000000&@70 -|<+0#e000e06&|k|6|>| +0#0000000&@70 -|<+0#e000e06&|k|7|>| +0#0000000&@70 -@57|9|1|,|1| @9|5|9|%| +| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|<+0#e000e06&|x|E|n|d|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|z|E|n|d|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|P|a|g|e|U|p|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|P|a|g|e|D|o|w|n|>| +0#0000000&@56 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|P|a|g|e|U|p|>| +0#0000000&@57 +@6>\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|P|a|g|e|D|o|w|n|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|P|l|u|s|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|M|i|n|u|s|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|D|i|v|i|d|e|>| +0#0000000&@57 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|M|u|l|t|i|p|l|y|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|E|n|t|e|r|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|P|o|i|n|t|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|0|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|1|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|2|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|3|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|4|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|5|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|6|>| +0#0000000&@62 +@57|9|1|,|7| @9|5|8|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_06.dump b/runtime/syntax/testdir/dumps/vim_key_notation_06.dump index e82c7f3eb..66a80f213 100644 --- a/runtime/syntax/testdir/dumps/vim_key_notation_06.dump +++ b/runtime/syntax/testdir/dumps/vim_key_notation_06.dump @@ -1,20 +1,20 @@ -|<+0#e000e06#ffffff0|k|7|>| +0#0000000&@70 -|<+0#e000e06&|k|8|>| +0#0000000&@70 -|<+0#e000e06&|k|9|>| +0#0000000&@70 -|<+0#e000e06&|l|t|>| +0#0000000&@70 -|<+0#e000e06&|M|o|u|s|e|>| +0#0000000&@67 -><+0#e000e06&|N|e|t|M|o|u|s|e|>| +0#0000000&@64 -|<+0#e000e06&|D|e|c|M|o|u|s|e|>| +0#0000000&@64 -|<+0#e000e06&|J|s|b|M|o|u|s|e|>| +0#0000000&@64 -|<+0#e000e06&|P|t|e|r|m|M|o|u|s|e|>| +0#0000000&@62 -|<+0#e000e06&|U|r|x|v|t|M|o|u|s|e|>| +0#0000000&@62 -|<+0#e000e06&|S|g|r|M|o|u|s|e|>| +0#0000000&@64 -|<+0#e000e06&|S|g|r|M|o|u|s|e|R|e|l|e|a|s|e|>| +0#0000000&@57 -|<+0#e000e06&|L|e|f|t|M|o|u|s|e|>| +0#0000000&@63 -|<+0#e000e06&|L|e|f|t|M|o|u|s|e|N|M|>| +0#0000000&@61 -|<+0#e000e06&|L|e|f|t|D|r|a|g|>| +0#0000000&@64 -|<+0#e000e06&|L|e|f|t|R|e|l|e|a|s|e|>| +0#0000000&@61 -|<+0#e000e06&|L|e|f|t|R|e|l|e|a|s|e|N|M|>| +0#0000000&@59 -|<+0#e000e06&|M|o|u|s|e|M|o|v|e|>| +0#0000000&@63 -|<+0#e000e06&|M|i|d@1|l|e|M|o|u|s|e|>| +0#0000000&@61 -@57|1|0|9|,|1| @8|7|1|%| +| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|6|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|7|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|8|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|k|9|>| +0#0000000&@62 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|l|t|>| +0#0000000&@62 +@6>\+0#e000e06&| +0#0000000&|<+0#e000e06&|M|o|u|s|e|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|N|e|t|M|o|u|s|e|>| +0#0000000&@56 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|D|e|c|M|o|u|s|e|>| +0#0000000&@56 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|J|s|b|M|o|u|s|e|>| +0#0000000&@56 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|P|t|e|r|m|M|o|u|s|e|>| +0#0000000&@54 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|U|r|x|v|t|M|o|u|s|e|>| +0#0000000&@54 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|S|g|r|M|o|u|s|e|>| +0#0000000&@56 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|S|g|r|M|o|u|s|e|R|e|l|e|a|s|e|>| +0#0000000&@49 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|L|e|f|t|M|o|u|s|e|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|L|e|f|t|M|o|u|s|e|N|M|>| +0#0000000&@53 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|L|e|f|t|D|r|a|g|>| +0#0000000&@56 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|L|e|f|t|R|e|l|e|a|s|e|>| +0#0000000&@53 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|L|e|f|t|R|e|l|e|a|s|e|N|M|>| +0#0000000&@51 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|M|o|u|s|e|M|o|v|e|>| +0#0000000&@55 +@57|1|0|9|,|7| @8|7|0|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_07.dump b/runtime/syntax/testdir/dumps/vim_key_notation_07.dump index 3e21774e1..a05017e01 100644 --- a/runtime/syntax/testdir/dumps/vim_key_notation_07.dump +++ b/runtime/syntax/testdir/dumps/vim_key_notation_07.dump @@ -1,20 +1,20 @@ -|<+0#e000e06#ffffff0|M|i|d@1|l|e|M|o|u|s|e|>| +0#0000000&@61 -|<+0#e000e06&|M|i|d@1|l|e|D|r|a|g|>| +0#0000000&@62 -|<+0#e000e06&|M|i|d@1|l|e|R|e|l|e|a|s|e|>| +0#0000000&@59 -|<+0#e000e06&|R|i|g|h|t|M|o|u|s|e|>| +0#0000000&@62 -|<+0#e000e06&|R|i|g|h|t|D|r|a|g|>| +0#0000000&@63 -><+0#e000e06&|R|i|g|h|t|R|e|l|e|a|s|e|>| +0#0000000&@60 -|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|U|p|>| +0#0000000&@59 -|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|D|o|w|n|>| +0#0000000&@57 -|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|R|i|g|h|t|>| +0#0000000&@56 -|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|L|e|f|t|>| +0#0000000&@57 -|<+0#e000e06&|M|o|u|s|e|D|o|w|n|>| +0#0000000&@63 -|<+0#e000e06&|M|o|u|s|e|U|p|>| +0#0000000&@65 -|<+0#e000e06&|X|1|M|o|u|s|e|>| +0#0000000&@65 -|<+0#e000e06&|X|1|D|r|a|g|>| +0#0000000&@66 -|<+0#e000e06&|X|1|R|e|l|e|a|s|e|>| +0#0000000&@63 -|<+0#e000e06&|X|2|M|o|u|s|e|>| +0#0000000&@65 -|<+0#e000e06&|X|2|D|r|a|g|>| +0#0000000&@66 -|<+0#e000e06&|X|2|R|e|l|e|a|s|e|>| +0#0000000&@63 -|<+0#e000e06&|D|r|o|p|>| +0#0000000&@68 -@57|1|2|7|,|1| @8|8|4|%| +| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|<+0#e000e06&|M|o|u|s|e|M|o|v|e|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|M|i|d@1|l|e|M|o|u|s|e|>| +0#0000000&@53 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|M|i|d@1|l|e|D|r|a|g|>| +0#0000000&@54 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|M|i|d@1|l|e|R|e|l|e|a|s|e|>| +0#0000000&@51 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|R|i|g|h|t|M|o|u|s|e|>| +0#0000000&@54 +@6>\+0#e000e06&| +0#0000000&|<+0#e000e06&|R|i|g|h|t|D|r|a|g|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|R|i|g|h|t|R|e|l|e|a|s|e|>| +0#0000000&@52 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|U|p|>| +0#0000000&@51 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|D|o|w|n|>| +0#0000000&@49 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|R|i|g|h|t|>| +0#0000000&@48 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|S|c|r|o|l@1|W|h|e@1|l|L|e|f|t|>| +0#0000000&@49 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|M|o|u|s|e|D|o|w|n|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|M|o|u|s|e|U|p|>| +0#0000000&@57 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|X|1|M|o|u|s|e|>| +0#0000000&@57 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|X|1|D|r|a|g|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|X|1|R|e|l|e|a|s|e|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|X|2|M|o|u|s|e|>| +0#0000000&@57 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|X|2|D|r|a|g|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|X|2|R|e|l|e|a|s|e|>| +0#0000000&@55 +@57|1|2|7|,|7| @8|8|2|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_08.dump b/runtime/syntax/testdir/dumps/vim_key_notation_08.dump index 733757527..37db049f7 100644 --- a/runtime/syntax/testdir/dumps/vim_key_notation_08.dump +++ b/runtime/syntax/testdir/dumps/vim_key_notation_08.dump @@ -1,20 +1,20 @@ -|<+0#e000e06#ffffff0|D|r|o|p|>| +0#0000000&@68 -|<+0#e000e06&|N|u|l|>| +0#0000000&@69 -|<+0#e000e06&|S|N|R|>| +0#0000000&@69 -|<+0#e000e06&|P|l|u|g|>| +0#0000000&@68 -|<+0#e000e06&|C|u|r|s|o|r|H|o|l|d|>| +0#0000000&@62 -><+0#e000e06&|I|g|n|o|r|e|>| +0#0000000&@66 -|<+0#e000e06&|C|m|d|>| +0#0000000&@69 -|<+0#e000e06&|S|c|r|i|p|t|C|m|d|>| +0#0000000&@63 -|<+0#e000e06&|F|o|c|u|s|G|a|i|n|e|d|>| +0#0000000&@61 -|<+0#e000e06&|F|o|c|u|s|L|o|s|t|>| +0#0000000&@63 -@75 -|<+0#e000e06&|c|w|o|r|d|>| +0#0000000&@67 -|<+0#e000e06&|c|W|O|R|D|>| +0#0000000&@67 -|<+0#e000e06&|c|e|x|p|r|>| +0#0000000&@67 -|<+0#e000e06&|c|f|i|l|e|>| +0#0000000&@67 -|<+0#e000e06&|a|f|i|l|e|>| +0#0000000&@67 -|<+0#e000e06&|a|b|u|f|>| +0#0000000&@68 -|<+0#e000e06&|a|m|a|t|c|h|>| +0#0000000&@66 -|<+0#e000e06&|s|f|i|l|e|>| +0#0000000&@67 -@57|1|4|5|,|1| @8|9|6|%| +| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|<+0#e000e06&|X|2|R|e|l|e|a|s|e|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|D|r|o|p|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|N|u|l|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|S|N|R|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|P|l|u|g|>| +0#0000000&@60 +@6>\+0#e000e06&| +0#0000000&|<+0#e000e06&|C|u|r|s|o|r|H|o|l|d|>| +0#0000000&@54 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|I|g|n|o|r|e|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|C|m|d|>| +0#0000000&@61 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|S|c|r|i|p|t|C|m|d|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|o|c|u|s|G|a|i|n|e|d|>| +0#0000000&@53 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|F|o|c|u|s|L|o|s|t|>| +0#0000000&@55 +@6|\+0#e000e06&| +0#0000000&@67 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|c|w|o|r|d|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|c|W|O|R|D|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|c|e|x|p|r|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|c|f|i|l|e|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|a|f|i|l|e|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|a|b|u|f|>| +0#0000000&@60 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|a|m|a|t|c|h|>| +0#0000000&@58 +@57|1|4|5|,|7| @8|9|5|%| diff --git a/runtime/syntax/testdir/dumps/vim_key_notation_09.dump b/runtime/syntax/testdir/dumps/vim_key_notation_09.dump index d7fc77deb..d9adc7b3f 100644 --- a/runtime/syntax/testdir/dumps/vim_key_notation_09.dump +++ b/runtime/syntax/testdir/dumps/vim_key_notation_09.dump @@ -1,9 +1,11 @@ -|<+0#e000e06#ffffff0|s|f|i|l|e|>| +0#0000000&@67 -|<+0#e000e06&|s|t|a|c|k|>| +0#0000000&@67 -|<+0#e000e06&|s|c|r|i|p|t|>| +0#0000000&@66 -|<+0#e000e06&|s|l|n|u|m|>| +0#0000000&@67 -|<+0#e000e06&|s|f|l|n|u|m|>| +0#0000000&@66 -><+0#e000e06&|c|l|i|e|n|t|>| +0#0000000&@66 +| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|<+0#e000e06&|a|m|a|t|c|h|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|s|f|i|l|e|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|s|t|a|c|k|>| +0#0000000&@59 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|s|c|r|i|p|t|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|s|l|n|u|m|>| +0#0000000&@59 +@6>\+0#e000e06&| +0#0000000&|<+0#e000e06&|s|f|l|n|u|m|>| +0#0000000&@58 +@6|\+0#e000e06&| +0#0000000&|<+0#e000e06&|c|l|i|e|n|t|>| +0#0000000&@58 +@75 |~+0#4040ff13&| @73 |~| @73 |~| @73 @@ -15,6 +17,4 @@ |~| @73 |~| @73 |~| @73 -|~| @73 -|~| @73 -| +0#0000000&@56|1|6|3|,|1| @8|B|o|t| +| +0#0000000&@56|1|6|3|,|7| @8|B|o|t| diff --git a/runtime/syntax/testdir/input/vim_key_notation.vim b/runtime/syntax/testdir/input/vim_key_notation.vim index 8bc128a4d..857249929 100644 --- a/runtime/syntax/testdir/input/vim_key_notation.vim +++ b/runtime/syntax/testdir/input/vim_key_notation.vim @@ -1,163 +1,165 @@ " Key notation -<Space> -<Tab> -<Tab> -<NL> -<NewLine> -<LineFeed> -<LF> -<CR> -<Return> -<Enter> -<BS> -<BackSpace> -<Esc> -<CSI> -<xCSI> -<Bar> -<Bslash> -<Del> -<Delete> -<kDel> -<Up> -<Down> -<Left> -<Right> -<xUp> -<xDown> -<xLeft> -<xRight> -<PasteStart> -<PasteEnd> -<F1> -<F2> -<F3> -<F4> -<F5> -<F6> -<F7> -<F8> -<F9> -<F10> -<F11> -<F12> -<F13> -<F14> -<F15> -<F16> -<F17> -<F18> -<F19> -<F20> -<F21> -<F22> -<F23> -<F24> -<F25> -<F26> -<F27> -<F28> -<F29> -<F30> -<F31> -<F32> -<F33> -<F34> -<F35> -<F36> -<F37> -<xF1> -<xF2> -<xF3> -<xF4> -<Help> -<Undo> -<Insert> -<Ins> -<kInsert> -<Home> -<kHome> -<xHome> -<zHome> -<End> -<kEnd> -<xEnd> -<zEnd> -<PageUp> -<PageDown> -<kPageUp> -<kPageDown> -<kPlus> -<kMinus> -<kDivide> -<kMultiply> -<kEnter> -<kPoint> -<k0> -<k1> -<k2> -<k3> -<k4> -<k5> -<k6> -<k7> -<k8> -<k9> -<lt> -<Mouse> -<NetMouse> -<DecMouse> -<JsbMouse> -<PtermMouse> -<UrxvtMouse> -<SgrMouse> -<SgrMouseRelease> -<LeftMouse> -<LeftMouseNM> -<LeftDrag> -<LeftRelease> -<LeftReleaseNM> -<MouseMove> -<MiddleMouse> -<MiddleDrag> -<MiddleRelease> -<RightMouse> -<RightDrag> -<RightRelease> -<ScrollWheelUp> -<ScrollWheelDown> -<ScrollWheelRight> -<ScrollWheelLeft> -<MouseDown> -<MouseUp> -<X1Mouse> -<X1Drag> -<X1Release> -<X2Mouse> -<X2Drag> -<X2Release> -<Drop> -<Nul> -<SNR> -<Plug> -<CursorHold> -<Ignore> -<Cmd> -<ScriptCmd> -<FocusGained> -<FocusLost> +map foo + \ <Space> + \ <Tab> + \ <Tab> + \ <NL> + \ <NewLine> + \ <LineFeed> + \ <LF> + \ <CR> + \ <Return> + \ <Enter> + \ <BS> + \ <BackSpace> + \ <Esc> + \ <CSI> + \ <xCSI> + \ <Bar> + \ <Bslash> + \ <Del> + \ <Delete> + \ <kDel> + \ <Up> + \ <Down> + \ <Left> + \ <Right> + \ <xUp> + \ <xDown> + \ <xLeft> + \ <xRight> + \ <PasteStart> + \ <PasteEnd> + \ <F1> + \ <F2> + \ <F3> + \ <F4> + \ <F5> + \ <F6> + \ <F7> + \ <F8> + \ <F9> + \ <F10> + \ <F11> + \ <F12> + \ <F13> + \ <F14> + \ <F15> + \ <F16> + \ <F17> + \ <F18> + \ <F19> + \ <F20> + \ <F21> + \ <F22> + \ <F23> + \ <F24> + \ <F25> + \ <F26> + \ <F27> + \ <F28> + \ <F29> + \ <F30> + \ <F31> + \ <F32> + \ <F33> + \ <F34> + \ <F35> + \ <F36> + \ <F37> + \ <xF1> + \ <xF2> + \ <xF3> + \ <xF4> + \ <Help> + \ <Undo> + \ <Insert> + \ <Ins> + \ <kInsert> + \ <Home> + \ <kHome> + \ <xHome> + \ <zHome> + \ <End> + \ <kEnd> + \ <xEnd> + \ <zEnd> + \ <PageUp> + \ <PageDown> + \ <kPageUp> + \ <kPageDown> + \ <kPlus> + \ <kMinus> + \ <kDivide> + \ <kMultiply> + \ <kEnter> + \ <kPoint> + \ <k0> + \ <k1> + \ <k2> + \ <k3> + \ <k4> + \ <k5> + \ <k6> + \ <k7> + \ <k8> + \ <k9> + \ <lt> + \ <Mouse> + \ <NetMouse> + \ <DecMouse> + \ <JsbMouse> + \ <PtermMouse> + \ <UrxvtMouse> + \ <SgrMouse> + \ <SgrMouseRelease> + \ <LeftMouse> + \ <LeftMouseNM> + \ <LeftDrag> + \ <LeftRelease> + \ <LeftReleaseNM> + \ <MouseMove> + \ <MiddleMouse> + \ <MiddleDrag> + \ <MiddleRelease> + \ <RightMouse> + \ <RightDrag> + \ <RightRelease> + \ <ScrollWheelUp> + \ <ScrollWheelDown> + \ <ScrollWheelRight> + \ <ScrollWheelLeft> + \ <MouseDown> + \ <MouseUp> + \ <X1Mouse> + \ <X1Drag> + \ <X1Release> + \ <X2Mouse> + \ <X2Drag> + \ <X2Release> + \ <Drop> + \ <Nul> + \ <SNR> + \ <Plug> + \ <CursorHold> + \ <Ignore> + \ <Cmd> + \ <ScriptCmd> + \ <FocusGained> + \ <FocusLost> + \ + \ <cword> + \ <cWORD> + \ <cexpr> + \ <cfile> + \ <afile> + \ <abuf> + \ <amatch> + \ <sfile> + \ <stack> + \ <script> + \ <slnum> + \ <sflnum> + \ <client> -<cword> -<cWORD> -<cexpr> -<cfile> -<afile> -<abuf> -<amatch> -<sfile> -<stack> -<script> -<slnum> -<sflnum> -<client> diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index 8bb91e397..7047373e5 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -2,7 +2,7 @@ " Language: Vim script " Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com> " Doug Kearns <dougkea...@gmail.com> -" Last Change: 2025 Feb 13 +" Last Change: 2025 Feb 16 " Former Maintainer: Charles E. Campbell " DO NOT CHANGE DIRECTLY. @@ -237,7 +237,6 @@ syn match vimNumber '\<0o\=\o\+' skipwhite nextgroup=vimGlobal,vimSubst1,@vimC syn match vimNumber '\<0x\x\+' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment,vimSubscript syn match vimNumber '\<0z\>' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment,vimSubscript -syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSubst1,@vimComment syn case match " All vimCommands are contained by vimIsCommand. {{{2 @@ -398,7 +397,7 @@ syn match vim9LambdaOperatorComment contained "#.*" skipwhite skipempty nextgrou syn cluster vimFuncList contains=vimFuncBang,vimFunctionError,vimFuncKey,vimFuncScope,vimFuncSID,Tag syn cluster vimDefList contains=vimFuncBang,vimFunctionError,vimDefKey,vimFuncScope,vimFuncSID,Tag -syn cluster vimFuncBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold +syn cluster vimFuncBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold syn cluster vimFuncBodyList contains=@vimFuncBodyCommon,vimComment,vimLineComment,vimInsert,vimConst,vimLet,vimSearch syn cluster vimDefBodyList contains=@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Block,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9LhsVariable,vim9LhsVariableList,vim9LhsRegister,vim9Search,@vimSpecialVar @@ -670,7 +669,10 @@ syn match vimCommentError contained +".*+ syn match vimEnvvar "\$\I\i*" syn match vimEnvvar "\${\I\i*}" -" In-String Specials: {{{2 +" Strings {{{2 +" ======= + +" In-String Specials: " Try to catch strings, if nothing else matches (therefore it must precede the others!) " vimEscapeBrace handles ["] []"] (ie. "s don't terminate string inside []) syn region vimEscapeBrace oneline contained transparent start="[^\]\(\\\)*\[\zs\^\=\]\=" skip="\\\|\\]" end="]"me=e-1 @@ -683,8 +685,6 @@ syn cluster vimStringGroup contains=vimEscape,vimEscapeBrace,vimPatSep,vimNotPat syn region vimString oneline keepend matchgroup=vimString start=+[^a-zA-Z>\@]"+lc=1 skip=+\\\|\"+ matchgroup=vimStringEnd end=+"+ nextgroup=vimSubscript contains=@vimStringGroup extend syn region vimString oneline matchgroup=vimString start=+[^a-zA-Z>\@]'+lc=1 end=+'+ nextgroup=vimSubscript contains=vimQuoteEscape extend "syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\|\+" end="/" contains=@vimStringGroup " see tst45.vim -syn match vimString contained +"[^"]*\$+ skipnl nextgroup=vimStringCont -syn match vimStringCont contained +\(\\\|.\)\{-}[^\]"+ syn match vimEscape contained "\." " syn match vimEscape contained +\[befnrt\"]+ @@ -725,9 +725,6 @@ syn match vimSubstFlags contained "[&cegiIlnpr#]\+" syn match vimSubstDelim contained "\" syn match vimSubstPat contained "\\ze[/?&]" contains=vimSubstDelim nextgroup=vimSubstRep4 -" 'String': {{{2 -syn match vimString "[^(,]'[^']\{-}\zs'" - " Marks, Registers, Addresses, Filters: {{{2 syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1 syn match vimMark "'[[\]{}()<>]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1 @@ -921,22 +918,22 @@ syn match vimMenutranslateComment +".*+ contained containedin=vimMenutranslate " Angle-Bracket Notation: (tnx to Michael Geddes) {{{2 " ====================== syn case ignore -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd]-\)\{0,4}x\=\%(f\d\{1,2}\|[^ :]\|space\|bar\|bslash\|nl\|newline\|lf\|linefeed\|cr\|retu\%[rn]\|enter\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|csi\|right\|paste\%(start\|end\)\|left\|help\|undo\|k\=insert\|ins\|mouse\|[kz]\=home\|[kz]\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\%(page\)\=\%(\|down\|up\|k\d\>\)\)>" contains=vimBracket - -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(net\|dec\|jsb\|pterm\|urxvt\|sgr\)mouse>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(left\|middle\|right\)\%(mouse\|drag\|release\)>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}left\%(mouse\|release\)nm>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}x[12]\%(mouse\|drag\|release\)>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}sgrmouserelease>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}mouse\%(up\|down\|move\)>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}scrollwheel\%(up\|down\|right\|left\)>" contains=vimBracket - -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%(sid\|nop\|nul\|lt\|drop\)>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%(snr\|plug\|cursorhold\|ignore\|cmd\|scriptcmd\|focus\%(gained\|lost\)\)>" contains=vimBracket -syn match vimNotation '\%(\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket -syn match vimNotation '\%#=1\%(\\|<lt>\)\=<\%(q-\)\=\%(line[12]\|count\|bang\|reg\|args\|mods\|f-args\|f-mods\|lt\)>' contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([cas]file\|abuf\|amatch\|cexpr\|cword\|cWORD\|client\|stack\|script\|sf\=lnum\)>" contains=vimBracket -syn match vimNotation "\%#=1\%(\\|<lt>\)\=<\%([scamd]-\)\{0,4}char-\%(\d\+\|0\o\+\|0x\x\+\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd]-\)\{0,4}x\=\%(f\d\{1,2}\|[^ :]\|space\|bar\|bslash\|nl\|newline\|lf\|linefeed\|cr\|retu\%[rn]\|enter\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|csi\|right\|paste\%(start\|end\)\|left\|help\|undo\|k\=insert\|ins\|mouse\|[kz]\=home\|[kz]\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\%(page\)\=\%(\|down\|up\|k\d\>\)\)>" contains=vimBracket + +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(net\|dec\|jsb\|pterm\|urxvt\|sgr\)mouse>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(left\|middle\|right\)\%(mouse\|drag\|release\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}left\%(mouse\|release\)nm>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}x[12]\%(mouse\|drag\|release\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}sgrmouserelease>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}mouse\%(up\|down\|move\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}scrollwheel\%(up\|down\|right\|left\)>" contains=vimBracket + +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%(sid\|nop\|nul\|lt\|drop\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%(snr\|plug\|cursorhold\|ignore\|cmd\|scriptcmd\|focus\%(gained\|lost\)\)>" contains=vimBracket +syn match vimNotation contained '\%(\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket +syn match vimNotation contained '\%#=1\%(\\|<lt>\)\=<\%(q-\)\=\%(line[12]\|count\|bang\|reg\|args\|mods\|f-args\|f-mods\|lt\)>' contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([cas]file\|abuf\|amatch\|cexpr\|cword\|cWORD\|client\|stack\|script\|sf\=lnum\)>" contains=vimBracket +syn match vimNotation contained "\%#=1\%(\\|<lt>\)\=<\%([scamd]-\)\{0,4}char-\%(\d\+\|0\o\+\|0x\x\+\)>" contains=vimBracket syn match vimBracket contained "[\<>]" syn case match @@ -962,7 +959,7 @@ if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror") syn match vimBufnrWarn /\<bufnr\s*(\s*["']\.['"]\s*)/ endif -syn match vimNotFunc "\<if\>\|\<el\%[seif]\>\|\<retu\%[rn]\>\|\<while\>" skipwhite nextgroup=@vimExprList,vimNotation +syn match vimNotFunc "\%#=1\<\%(if\|el\%[seif]\|retu\%[rn]\|while\)\>" skipwhite nextgroup=@vimExprList,vimNotation " Match: {{{2 " ===== -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/vim_dev/E1tjgpP-00CTXn-SI%40256bit.org.