22" Language: Vim script
33" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
445- " Last Change: 2025 Feb 13
5+ " Last Change: 2025 Feb 16
66" Former Maintainer: Charles E. Campbell
77
88" DO NOT CHANGE DIRECTLY.
@@ -199,7 +199,6 @@ syn match vimNumber '\<0o\=\o\+' skipwhite nextgroup=vimGlobal,vimSubst1,@vimC
199199syn match vimNumber ' \< 0x\x\+ ' skipwhite nextgroup =vimGlobal,vimSubst1,@vimComment,vimSubscript
200200syn match vimNumber ' \< 0z\> ' skipwhite nextgroup =vimGlobal,vimSubst1,@vimComment
201201syn match vimNumber ' \< 0z\% (\x\x\)\+\% (\.\% (\x\x\)\+\) *' skipwhite nextgroup =vimGlobal,vimSubst1,@vimComment,vimSubscript
202- syn match vimNumber ' \% (^\|\A\)\z s#\x\{ 6}' skipwhite nextgroup =vimGlobal,vimSubst1,@vimComment
203202syn case match
204203
205204" All vimCommands are contained by vimIsCommand. {{{2
@@ -360,7 +359,7 @@ syn match vim9LambdaOperatorComment contained "#.*" skipwhite skipempty nextgrou
360359syn cluster vimFuncList contains =vimFuncBang,vimFunctionError,vimFuncKey,vimFuncScope,vimFuncSID,Tag
361360syn cluster vimDefList contains =vimFuncBang,vimFunctionError,vimDefKey,vimFuncScope,vimFuncSID,Tag
362361
363- syn cluster vimFuncBodyCommon contains =@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotation, vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold
362+ syn cluster vimFuncBodyCommon contains =@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold
364363syn cluster vimFuncBodyList contains =@vimFuncBodyCommon,vimComment,vimLineComment,vimInsert,vimConst,vimLet,vimSearch
365364syn cluster vimDefBodyList contains =@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Block,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9LhsVariable,vim9LhsVariableList,vim9LhsRegister,vim9Search,@vimSpecialVar
366365
@@ -630,7 +629,10 @@ syn match vimCommentError contained +".*+
630629syn match vimEnvvar " \$\I\i *"
631630syn match vimEnvvar " \$ {\I\i *}"
632631
633- " In-String Specials: {{{2
632+ " Strings {{{2
633+ " =======
634+
635+ " In-String Specials:
634636" Try to catch strings, if nothing else matches (therefore it must precede the others!)
635637" vimEscapeBrace handles ["] []"] (ie. "s don't terminate string inside [])
636638syn region vimEscapeBrace oneline contained transparent start =" [^\\ ]\(\\\\\) *\[\z s\^\=\]\= " skip =" \\\\\|\\\] " end =" ]" me =e - 1
@@ -643,8 +645,6 @@ syn cluster vimStringGroup contains=vimEscape,vimEscapeBrace,vimPatSep,vimNotPat
643645syn region vimString oneline keepend matchgroup =vimString start =+ [^a-zA-Z>\\ @]"+ lc =1 skip =+ \\\\\|\\ "+ matchgroup =vimStringEnd end =+ "+ nextgroup =vimSubscript contains =@vimStringGroup extend
644646syn region vimString oneline matchgroup =vimString start =+ [^a-zA-Z>\\ @]'+ lc =1 end =+ '+ nextgroup =vimSubscript contains =vimQuoteEscape extend
645647" syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup " see tst45.vim
646- syn match vimString contained + "[^"]*\\ $+ skipnl nextgroup =vimStringCont
647- syn match vimStringCont contained + \(\\\\\| .\)\{ -}[^\\ ]"+
648648
649649syn match vimEscape contained " \\ ."
650650" syn match vimEscape contained +\\[befnrt\"]+
@@ -685,9 +685,6 @@ syn match vimSubstFlags contained "[&cegiIlnpr#]\+"
685685syn match vimSubstDelim contained " \\ "
686686syn match vimSubstPat contained " \\\z e[/?&]" contains =vimSubstDelim nextgroup =vimSubstRep4
687687
688- " 'String': {{{2
689- syn match vimString " [^(,]'[^']\{ -}\z s'"
690-
691688" Marks, Registers, Addresses, Filters: {{{2
692689syn match vimMark " '[a-zA-Z0-9]\z e[-+,!]" nextgroup =vimFilter,vimMarkNumber,vimSubst1
693690syn match vimMark " '[[\] {}()<>]\z e[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
@@ -875,22 +872,22 @@ syn match vimMenutranslateComment +".*+ contained containedin=vimMenutranslate
875872" Angle-Bracket Notation: (tnx to Michael Geddes) {{{2
876873" ======================
877874syn case ignore
878- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% ([scamd]-\)\{ 0,4}x\=\% (f\d\{ 1,2}\| [^ \t :]\| 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
879-
880- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}\% (net\| dec\| jsb\| pterm\| urxvt\| sgr\) mouse>" contains =vimBracket
881- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}\% (left\| middle\| right\)\% (mouse\| drag\| release\) >" contains =vimBracket
882- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}left\% (mouse\| release\) nm>" contains =vimBracket
883- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}x[12]\% (mouse\| drag\| release\) >" contains =vimBracket
884- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}sgrmouserelease>" contains =vimBracket
885- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}mouse\% (up\| down\| move\) >" contains =vimBracket
886- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}scrollwheel\% (up\| down\| right\| left\) >" contains =vimBracket
887-
888- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% (sid\| nop\| nul\| lt\| drop\) >" contains =vimBracket
889- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% (snr\| plug\| cursorhold\| ignore\| cmd\| scriptcmd\| focus\% (gained\| lost\)\) >" contains =vimBracket
890- syn match vimNotation ' \% (\\\| <lt>\)\= <C-R>[0-9a-z"%#:.\- =]' he =e - 1 contains =vimBracket
891- syn match vimNotation ' \% #=1\% (\\\| <lt>\)\= <\% (q-\)\=\% (line[12]\| count\| bang\| reg\| args\| mods\| f-args\| f-mods\| lt\) >' contains =vimBracket
892- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% ([cas]file\| abuf\| amatch\| cexpr\| cword\| cWORD\| client\| stack\| script\| sf\= lnum\) >" contains =vimBracket
893- syn match vimNotation " \% #=1\% (\\\| <lt>\)\= <\% ([scamd]-\)\{ 0,4}char-\% (\d\+\| 0\o\+\| 0x\x\+\) >" contains =vimBracket
875+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% ([scamd]-\)\{ 0,4}x\=\% (f\d\{ 1,2}\| [^ \t :]\| 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
876+
877+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}\% (net\| dec\| jsb\| pterm\| urxvt\| sgr\) mouse>" contains =vimBracket
878+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}\% (left\| middle\| right\)\% (mouse\| drag\| release\) >" contains =vimBracket
879+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}left\% (mouse\| release\) nm>" contains =vimBracket
880+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}x[12]\% (mouse\| drag\| release\) >" contains =vimBracket
881+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}sgrmouserelease>" contains =vimBracket
882+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}mouse\% (up\| down\| move\) >" contains =vimBracket
883+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% ([scamd2-4]-\)\{ 0,4}scrollwheel\% (up\| down\| right\| left\) >" contains =vimBracket
884+
885+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% (sid\| nop\| nul\| lt\| drop\) >" contains =vimBracket
886+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% (snr\| plug\| cursorhold\| ignore\| cmd\| scriptcmd\| focus\% (gained\| lost\)\) >" contains =vimBracket
887+ syn match vimNotation contained ' \% (\\\| <lt>\)\= <C-R>[0-9a-z"%#:.\- =]' he =e - 1 contains =vimBracket
888+ syn match vimNotation contained ' \% #=1\% (\\\| <lt>\)\= <\% (q-\)\=\% (line[12]\| count\| bang\| reg\| args\| mods\| f-args\| f-mods\| lt\) >' contains =vimBracket
889+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% ([cas]file\| abuf\| amatch\| cexpr\| cword\| cWORD\| client\| stack\| script\| sf\= lnum\) >" contains =vimBracket
890+ syn match vimNotation contained " \% #=1\% (\\\| <lt>\)\= <\% ([scamd]-\)\{ 0,4}char-\% (\d\+\| 0\o\+\| 0x\x\+\) >" contains =vimBracket
894891
895892syn match vimBracket contained " [\\ <>]"
896893syn case match
@@ -916,7 +913,7 @@ if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror")
916913 syn match vimBufnrWarn / \< bufnr\s *(\s *["']\. ['"]\s *)/
917914endif
918915
919- syn match vimNotFunc " \< if\>\|\< el\% [seif]\>\|\< retu\% [rn]\>\|\< while\> " skipwhite nextgroup =@vimExprList,vimNotation
916+ syn match vimNotFunc " \% #=1 \<\% ( if\| el\% [seif]\| retu\% [rn]\| while\) \>" skipwhite nextgroup =@vimExprList,vimNotation
920917
921918" Match: {{{2
922919" =====
0 commit comments