22" Language: Vim script
33" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
44" Doug Kearns <dougkearns@gmail.com>
5- " Last Change: 2025 Jan 19
5+ " Last Change: 2025 Jan 20
66" Former Maintainer: Charles E. Campbell
77
88" DO NOT CHANGE DIRECTLY.
@@ -283,6 +283,10 @@ syn keyword vimAugroupKey contained aug[roup] skipwhite nextgroup=vimAugroupBan
283283syn cluster vimOperGroup contains =vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,@vimContinue,vim9Comment,vimVar,vimBoolean,vimNull
284284syn match vimOper " \a\@ <!!" skipwhite nextgroup =vimString,vimSpecFile
285285syn match vimOper " ||\| &&\| [-+*/%.]" skipwhite nextgroup =vimString,vimSpecFile
286+ syn match vimOper " ?" skipwhite nextgroup =@vimExprList
287+ " distinguish ternary : from ex-colon
288+ syn match vimOper " \s\@ 1<=:\z e\s\|\s\@ 1<=:$" skipwhite nextgroup =@vimExprList
289+ syn match vimOper " ??" skipwhite nextgroup =@vimExprList
286290syn match vimOper " =" skipwhite nextgroup =vimString,vimSpecFile
287291syn match vimOper " \% #=1\% (==\| !=\| >=\| <=\| =\~\| !\~\| >\| <\) [?#]\= " skipwhite nextgroup =vimString,vimSpecFile
288292syn match vimOper " \< is\% (not\)\=\> " skipwhite nextgroup =vimString,vimSpecFile
@@ -298,9 +302,9 @@ endif
298302syn cluster vimFuncList contains =vimFuncBang,vimFunctionError,vimFuncKey,vimFuncSID,Tag
299303syn cluster vimDefList contains =vimFuncBang,vimFunctionError,vimDefKey,vimFuncSID,Tag
300304
301- syn cluster vimFuncBodyCommon contains =@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimEnvvar,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSearch, vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold
302- syn cluster vimFuncBodyList contains =@vimFuncBodyCommon,vimComment,vimLineComment,vimFuncVar,vimInsert,vimConst,vimLet
303- syn cluster vimDefBodyList contains =@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For
305+ syn cluster vimFuncBodyCommon contains =@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimEnvvar,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSpecFile,vimString,vimSubst,vimFuncFold,vimDefFold
306+ syn cluster vimFuncBodyList contains =@vimFuncBodyCommon,vimComment,vimLineComment,vimFuncVar,vimInsert,vimConst,vimLet,vimSearch
307+ syn cluster vimDefBodyList contains =@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For,vim9Search
304308
305309syn region vimFuncPattern contained matchgroup =vimOper start =" /" end =" $" contains =@vimSubstList
306310syn match vimFunction " \< fu\% [nction]\> " skipwhite nextgroup =vimCmdSep,vimComment,vimFuncPattern contains =vimFuncKey
@@ -1017,8 +1021,10 @@ syn match vim9CommentTitleLeader '#\s\+'ms=s+1 contained
10171021
10181022" Searches And Globals: {{{2
10191023" ====================
1020- syn match vimSearch ' ^\s *[/?].*' contains =vimSearchDelim
1024+ VimL syn match vimSearch ' ^\s*[/?].*' contains= vimSearchDelim
10211025syn match vimSearchDelim ' ^\s *\z s[/?]\| [/?]$' contained
1026+ Vim9 syn match vim9Search ' ^\s*:[/?].*' contains= vim9SearchDelim
1027+ syn match vim9SearchDelim ' ^\s *\z s:[/?]\| [/?]$' contained contains =vimCmdSep
10221028syn region vimGlobal matchgroup =Statement start =' \< g\% [lobal]!\= /' skip =' \\ .' end =' /' skipwhite nextgroup =vimSubst1
10231029syn region vimGlobal matchgroup =Statement start =' \< v\% [global]!\= /' skip =' \\ .' end =' /' skipwhite nextgroup =vimSubst1
10241030
@@ -1399,8 +1405,8 @@ if !exists("skip_vim_syntax_inits")
13991405 hi def link vimQuoteEscape vimEscape
14001406 hi def link vimRegister SpecialChar
14011407 hi def link vimScriptDelim Comment
1402- hi def link vimSearchDelim Statement
14031408 hi def link vimSearch vimString
1409+ hi def link vimSearchDelim Delimiter
14041410 hi def link vimSep Delimiter
14051411 hi def link vimSet vimCommand
14061412 hi def link vimSetAll vimOption
@@ -1493,6 +1499,8 @@ if !exists("skip_vim_syntax_inits")
14931499 hi def link vim9MethodNameError vimFunctionError
14941500 hi def link vim9Null Constant
14951501 hi def link vim9Public vimCommand
1502+ hi def link vim9Search vimString
1503+ hi def link vim9SearchDelim Delimiter
14961504 hi def link vim9Static vimCommand
14971505 hi def link vim9Super Identifier
14981506 hi def link vim9This Identifier
0 commit comments