|
2 | 2 | " Language: Vim script |
3 | 3 | " Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com> |
4 | 4 | |
5 | | -" Last Change: 2025 Oct 09 |
| 5 | +" Last Change: 2025 Oct 22 |
6 | 6 | " Former Maintainer: Charles E. Campbell |
7 | 7 |
|
8 | 8 | " DO NOT CHANGE DIRECTLY. |
@@ -246,7 +246,7 @@ syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=@vi |
246 | 246 | syn case match |
247 | 247 |
|
248 | 248 | " All vimCommands are contained by vimIsCommand. {{{2 |
249 | | -syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimCommandModifier,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDefer,vimDelcommand,vimDelFunction,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimEval,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,vimFiletype,vimFor,vimFunction,vimFunctionFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimImport,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimProfdel,vimProfile,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimSyntime,vimSynColor,vimSynLink,vimTerminal,vimThrow,vimUniq,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimWincmd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl |
| 249 | +syn cluster vimCmdList contains=vimAbb,vimAddress,vimAt,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimCommandModifier,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDefer,vimDelcommand,vimDelFunction,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimEval,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,vimFiletype,vimFor,vimFunction,vimFunctionFold,vimGrep,vimGrepAdd,vimGlobal,vimHelpgrep,vimHighlight,vimImport,vimLet,vimLoadkeymap,vimLockvar,vimMake,vimMap,vimMark,vimMatch,vimNotFunc,vimNormal,vimProfdel,vimProfile,vimRedir,vimSet,vimSleep,vimSort,vimSyntax,vimSyntime,vimSynColor,vimSynLink,vimTerminal,vimThrow,vimUniq,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimWincmd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl |
250 | 250 | syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var |
251 | 251 | syn match vimCmdSep "\\\@1<!|" skipwhite nextgroup=@vimCmdList,vimSubst1,@vimFunc |
252 | 252 | syn match vimCmdSep ":\+" skipwhite nextgroup=@vimCmdList,vimSubst1 |
@@ -1029,7 +1029,13 @@ syn match vimComFilter contained "|!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vi |
1029 | 1029 | " Complex Repeats: (:h complex-repeat) {{{2 |
1030 | 1030 | " =============== |
1031 | 1031 | syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]\>'lc=1 |
1032 | | -syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)' |
| 1032 | + |
| 1033 | +" NOTE: :* as an alias for :@ is not supported, this is considered a :range, |
| 1034 | +" see :help cpo-star |
| 1035 | +syn match vimAtArg contained +@\@1<=[0-9a-z".=*+:@]+ |
| 1036 | +syn match vimAt +@[0-9a-z".=*+:@]\ze\s*\%($\|[|"#]\)+ skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment contains=vimAtArg |
| 1037 | +" Vim9: avoid LHS assignment mismatching of :@["#] |
| 1038 | +syn match vimAt +@\ze\s*\%($\||\|\s["#]\)+ skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment |
1033 | 1039 |
|
1034 | 1040 | " Set command and associated set-options (vimOptions) with comment {{{2 |
1035 | 1041 | syn match vimSet "\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skipwhite nextgroup=vimSetBang,vimCmdSep,vimComment,vimSetArgs |
@@ -2309,6 +2315,8 @@ if !exists("skip_vim_syntax_inits") |
2309 | 2315 |
|
2310 | 2316 | hi def link vimAbb vimCommand |
2311 | 2317 | hi def link vimAddress vimMark |
| 2318 | + hi def link vimAt vimCommand |
| 2319 | + hi def link vimAtArg Special |
2312 | 2320 | hi def link vimAugroupBang vimBang |
2313 | 2321 | hi def link vimAugroupError vimError |
2314 | 2322 | hi def link vimAugroupKey vimCommand |
|
0 commit comments