From 025dc48e88790133ef0da583b2ce5b9c2232ea9e Mon Sep 17 00:00:00 2001 From: Doug Kearns Date: Sun, 23 Feb 2025 15:48:52 +0100 Subject: [PATCH] runtime(vim): Update base-syntax, match :CompilerSet and :SynMenu commands closes: #16713 Signed-off-by: Doug Kearns Signed-off-by: Christian Brabandt --- runtime/syntax/generator/vim.vim.base | 21 +++++++++++++++-- .../syntax/testdir/dumps/vim_ex_set_01.dump | 2 +- .../syntax/testdir/dumps/vim_ex_set_02.dump | 2 +- .../syntax/testdir/dumps/vim_ex_set_03.dump | 2 +- .../syntax/testdir/dumps/vim_ex_set_04.dump | 2 +- .../syntax/testdir/dumps/vim_ex_set_05.dump | 16 ++++++------- .../vim_predefined_user_commands_00.dump | 20 ++++++++++++++++ .../vim_predefined_user_commands_01.dump | 20 ++++++++++++++++ runtime/syntax/testdir/input/vim_ex_set.vim | 8 +++++++ .../input/vim_predefined_user_commands.vim | 21 +++++++++++++++++ runtime/syntax/vim.vim | 23 ++++++++++++++++--- 11 files changed, 120 insertions(+), 17 deletions(-) create mode 100644 runtime/syntax/testdir/dumps/vim_predefined_user_commands_00.dump create mode 100644 runtime/syntax/testdir/dumps/vim_predefined_user_commands_01.dump create mode 100644 runtime/syntax/testdir/input/vim_predefined_user_commands.vim diff --git a/runtime/syntax/generator/vim.vim.base b/runtime/syntax/generator/vim.vim.base index 009b2083b..47e22400c 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 " Doug Kearns -" Last Change: 2025 Feb 16 +" Last Change: 2025 Feb 23 " Former Maintainer: Charles E. Campbell " DO NOT CHANGE DIRECTLY. @@ -202,7 +202,7 @@ syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vim 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,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList +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,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1 syn match vimCount contained "\d\+" @@ -904,6 +904,19 @@ syn match vimMap "\\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!' +" Vim user commands + +" Compiler plugins +syn match vimCompilerSet "\" skipwhite nextgroup=vimSetRegion + +" runtime/makemenu.vim +syn match vimSynMenu "\" skipwhite nextgroup=vimSynMenuPath +syn match vimSynMenuPath contained ".*\ze:" nextgroup=vimSynMenuColon contains=vimMenuNotation +syn match vimSynMenuColon contained ":" nextgroup=vimSynMenuName +syn match vimSynMenuName contained "\w\+" + +syn cluster vimExUserCmdList contains=vimCompilerSet,vimSynMenu + " Errors And Warnings: {{{2 " ==================== if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror") @@ -1628,6 +1641,10 @@ if !exists("skip_vim_syntax_inits") hi def link vim9Var vimCommand hi def link vim9Vim9ScriptArg Special hi def link vim9Vim9Script vimCommand + + hi def link vimCompilerSet vimCommand + hi def link vimSynMenu vimCommand + hi def link vimSynMenuPath vimMenuName endif " Current Syntax Variable: {{{2 diff --git a/runtime/syntax/testdir/dumps/vim_ex_set_01.dump b/runtime/syntax/testdir/dumps/vim_ex_set_01.dump index 012170ecc..bb5989d86 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_set_01.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_set_01.dump @@ -17,4 +17,4 @@ |s+0#af5f00255&|e|t| +0#0000000&|a+0#e000e06&|l|e|p|h|++0#af5f00255&|=|9+0#0000000&|6| @61 |s+0#af5f00255&|e|t| +0#0000000&|a+0#e000e06&|l|e|p|h|^+0#af5f00255&|=|2+0#0000000&| @62 |s+0#af5f00255&|e|t| +0#0000000&|a+0#e000e06&|l|e|p|h|-+0#af5f00255&|=|9+0#0000000&|6| @61 -@57|1|9|,|1| @9|1|7|%| +@57|1|9|,|1| @9|1|5|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_set_02.dump b/runtime/syntax/testdir/dumps/vim_ex_set_02.dump index d6328d2db..81f282cea 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_set_02.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_set_02.dump @@ -17,4 +17,4 @@ |"+0#0000e05&| |:|h|e|l|p| |o|p|t|i|o|n|-|b|a|c|k|s|l|a|s|h| +0#0000000&@50 @75 |"+0#0000e05&| |W|h|e|n| |s|e|t@1|i|n|g| |o|p|t|i|o|n|s| |u|s|i|n|g| |||:|l|e|t||| |a|n|d| |||l|i|t|e|r|a|l|-|s|t|r|i|n|g|||,| |y|o|u| |n|e@1|d| |t|o| |u|s|@+0#4040ff13&@2 -| +0#0000000&@56|3|7|,|0|-|1| @7|4|1|%| +| +0#0000000&@56|3|7|,|0|-|1| @7|3|7|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_set_03.dump b/runtime/syntax/testdir/dumps/vim_ex_set_03.dump index fb013bc99..0f3d999fc 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_set_03.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_set_03.dump @@ -17,4 +17,4 @@ |"+0#0000e05&| |T|h|i|s| |e|x|a|m|p|l|e| |s|e|t|s| |t|h|e| |'|t|i|t|l|e|s|t|r|i|n|g|'| |o|p|t|i|o|n| |t|o| |"+0#e000002&|h|i|||t|h|e|r|e|"|:+0#0000e05&| +0#0000000&@15 |s+0#af5f00255&|e|t| +0#0000000&|t+0#e000e06&|i|t|l|e|s|t|r|i|n|g|=+0#af5f00255&|h+0#0000000&|i|\|||t|h|e|r|e| @49 |"+0#0000e05&| |T|h|i|s| |s|e|t|s| |t|h|e| |'|t|i|t|l|e|s|t|r|i|n|g|'| |o|p|t|i|o|n| |t|o| |"+0#e000002&|h|i|"| +0#0000e05&|a|n|d| |'|i|c|o|n|s|t|r|i|n|g|'| |t|o| |"+0#e000002&|t|h|e|r|e|"|:+0#0000e05&| +0#0000000&@1 -@57|5|4|,|1| @9|6|5|%| +@57|5|4|,|1| @9|5|9|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_set_04.dump b/runtime/syntax/testdir/dumps/vim_ex_set_04.dump index 6280f6af4..f67789f80 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_set_04.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_set_04.dump @@ -17,4 +17,4 @@ |s+0#af5f00255&|e|t| +0#0000000&|p+0#e000e06&|a|t|h|=+0#af5f00255&|a+0#0000000&|b|c|,+0#e000e06&|d+0#0000000&|e|f|,+0#e000e06&|g+0#0000000&|h|i| @54 @6|"+0#0000e05&|\| |d|e|f| |i|s| |t|h|e| |'|d|e|f|i|n|e|'| |o|p|t|i|o|n| +0#0000000&@39 @6|\+0#e000e06&| +0#0000000&|d+0#e000e06&|e|f|=+0#af5f00255&|a+0#0000000&|b|c|,+0#e000e06&|d+0#0000000&|e|f|,+0#e000e06&|g+0#0000000&|h|i| @51 -@57|7|2|,|1| @9|8|9|%| +@57|7|2|,|1| @9|8|0|%| diff --git a/runtime/syntax/testdir/dumps/vim_ex_set_05.dump b/runtime/syntax/testdir/dumps/vim_ex_set_05.dump index 3f675294e..4a8842473 100644 --- a/runtime/syntax/testdir/dumps/vim_ex_set_05.dump +++ b/runtime/syntax/testdir/dumps/vim_ex_set_05.dump @@ -7,14 +7,14 @@ |s+0#af5f00255&|e|t| +0#0000000&|p+0#e000e06&|a|t|h|=+0#af5f00255&| +0#0000000&@65 @6|"+0#0000e05&|\| |d|e|f| |i|s| |a| |'|p|a|t|h|'| |d|i|r|e|c|t|o|r|y| |v|a|l|u|e| +0#0000000&@34 @6|\+0#e000e06&|a+0#0000000&|b|c|,+0#e000e06&|d+0#0000000&|e|f| @60 +@75 +@75 +|"+0#0000e05&| |C|o|m|p|i|l|e|r|S|e|t| +0#0000000&@61 +@75 +|C+0#af5f00255&|o|m|p|i|l|e|r|S|e|t| +0#0000000&|m+0#e000e06&|a|k|e|p|r|g|=+0#af5f00255&|a+0#0000000&|n|t| @51 +|C+0#af5f00255&|o|m|p|i|l|e|r|S|e|t| +0#0000000&|e+0#e000e06&|r@1|o|r|f|o|r|m|a|t|=+0#af5f00255&|\+0#0000000&| |%|#|[|%|.|%|#|]|\| |%|#|%|f|:+0#e000e06&|%+0#0000000&|l|:+0#e000e06&|%+0#0000000&|v|:+0#e000e06&|%+0#0000000&|*|\@1|d|:+0#e000e06&|%+0#0000000&|*|\@1|d|:+0#e000e06&|\+0#0000000&| |%|t|%|[|%|^|:+0#e000e06&|]+0#0000000&|%|#|:+0#e000e06&|%+0#0000000&|m|,+0#e000e06& +| +0#0000000&@3|\+0#e000e06&|%+0#0000000&|A|\| |%|#|[|%|.|%|#|]|\| |%|f|:+0#e000e06&|%+0#0000000&|l|:+0#e000e06&|\+0#0000000&| |%|m|,+0#e000e06&|%+0#0000000&|-|Z|\| |%|#|[|%|.|%|#|]|\| |%|p|^|,+0#e000e06&|%+0#0000000&|C|\| |%|#|[|%|.|%|#|]|\| |%|#|%|m| @7 +@75 |~+0#4040ff13&| @73 |~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 | +0#0000000&@56|9|0|,|0|-|1| @7|B|o|t| diff --git a/runtime/syntax/testdir/dumps/vim_predefined_user_commands_00.dump b/runtime/syntax/testdir/dumps/vim_predefined_user_commands_00.dump new file mode 100644 index 000000000..8d0e81c23 --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_predefined_user_commands_00.dump @@ -0,0 +1,20 @@ +>"+0#0000e05#ffffff0| |V|i|m| |p|r|e|d|e|f|i|n|e|d| |u|s|e|r| |c|o|m@1|a|n|d|s| +0#0000000&@44 +@75 +@75 +|"+0#0000e05&| |:|C|o|m|p|i|l|e|r|S|e|t| |-| |r|u|n|t|i|m|e|/|c|o|m|p|i|l|e|r|/| +0#0000000&@40 +@75 +|C+0#af5f00255&|o|m|p|i|l|e|r|S|e|t| +0#0000000&|m+0#e000e06&|a|k|e|p|r|g|=+0#af5f00255&|a+0#0000000&|n|t| @51 +|C+0#af5f00255&|o|m|p|i|l|e|r|S|e|t| +0#0000000&|e+0#e000e06&|r@1|o|r|f|o|r|m|a|t|=+0#af5f00255&|\+0#0000000&| |%|#|[|%|.|%|#|]|\| |%|#|%|f|:+0#e000e06&|%+0#0000000&|l|:+0#e000e06&|%+0#0000000&|v|:+0#e000e06&|%+0#0000000&|*|\@1|d|:+0#e000e06&|%+0#0000000&|*|\@1|d|:+0#e000e06&|\+0#0000000&| |%|t|%|[|%|^|:+0#e000e06&|]+0#0000000&|%|#|:+0#e000e06&|%+0#0000000&|m|,+0#e000e06& +| +0#0000000&@3|\+0#e000e06&|%+0#0000000&|A|\| |%|#|[|%|.|%|#|]|\| |%|f|:+0#e000e06&|%+0#0000000&|l|:+0#e000e06&|\+0#0000000&| |%|m|,+0#e000e06&|%+0#0000000&|-|Z|\| |%|#|[|%|.|%|#|]|\| |%|p|^|,+0#e000e06&|%+0#0000000&|C|\| |%|#|[|%|.|%|#|]|\| |%|#|%|m| @7 +@75 +@75 +|"+0#0000e05&| |:|S|y|n|M|e|n|u| |-| |r|u|n|t|i|m|e|/|m|a|k|e|m|e|n|u|.|v|i|m| +0#0000000&@41 +@75 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|2|p|s|\| |c|o|n|f|i|g|:+0#0000000&|a|2|p|s| @46 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|a|p|:+0#0000000&|a@1|p| @56 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|B|A|P|/|4|:+0#0000000&|a|b|a|p| @52 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|b|a|q|u|s|:+0#0000000&|a|b|a|q|u|s| @50 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|B|C|\| |m|u|s|i|c|\| |n|o|t|a|t|i|o|n|:+0#0000000&|a|b|c| @39 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|B|E|L|:+0#0000000&|a|b|e|l| @54 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|c|e|D|B|\| |m|o|d|e|l|:+0#0000000&|a|c|e|d|b| @45 +@57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/vim_predefined_user_commands_01.dump b/runtime/syntax/testdir/dumps/vim_predefined_user_commands_01.dump new file mode 100644 index 000000000..39475638f --- /dev/null +++ b/runtime/syntax/testdir/dumps/vim_predefined_user_commands_01.dump @@ -0,0 +1,20 @@ +|S+0#af5f00255#ffffff0|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|a|p|:+0#0000000&|a@1|p| @56 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|B|A|P|/|4|:+0#0000000&|a|b|a|p| @52 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|b|a|q|u|s|:+0#0000000&|a|b|a|q|u|s| @50 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|B|C|\| |m|u|s|i|c|\| |n|o|t|a|t|i|o|n|:+0#0000000&|a|b|c| @39 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|B|E|L|:+0#0000000&|a|b|e|l| @54 +>S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|c|e|D|B|\| |m|o|d|e|l|:+0#0000000&|a|c|e|d|b| @45 +|S+0#af5f00255&|y|n|M|e|n|u| +0#e000e06&|A|B|.|A|d|a|:+0#0000000&|a|d|a| @56 +@75 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +| +0#0000000&@56|1|9|,|1| @9|B|o|t| diff --git a/runtime/syntax/testdir/input/vim_ex_set.vim b/runtime/syntax/testdir/input/vim_ex_set.vim index 00e53a0d3..5bdf2165d 100644 --- a/runtime/syntax/testdir/input/vim_ex_set.vim +++ b/runtime/syntax/testdir/input/vim_ex_set.vim @@ -91,3 +91,11 @@ set path=abc, set path= "\ def is a 'path' directory value \abc,def + + +" CompilerSet + +CompilerSet makeprg=ant +CompilerSet errorformat=\ %#[%.%#]\ %#%f:%l:%v:%*\\d:%*\\d:\ %t%[%^:]%#:%m, + \%A\ %#[%.%#]\ %f:%l:\ %m,%-Z\ %#[%.%#]\ %p^,%C\ %#[%.%#]\ %#%m + diff --git a/runtime/syntax/testdir/input/vim_predefined_user_commands.vim b/runtime/syntax/testdir/input/vim_predefined_user_commands.vim new file mode 100644 index 000000000..8b178909a --- /dev/null +++ b/runtime/syntax/testdir/input/vim_predefined_user_commands.vim @@ -0,0 +1,21 @@ +" Vim predefined user commands + + +" :CompilerSet - runtime/compiler/ + +CompilerSet makeprg=ant +CompilerSet errorformat=\ %#[%.%#]\ %#%f:%l:%v:%*\\d:%*\\d:\ %t%[%^:]%#:%m, + \%A\ %#[%.%#]\ %f:%l:\ %m,%-Z\ %#[%.%#]\ %p^,%C\ %#[%.%#]\ %#%m + + +" :SynMenu - runtime/makemenu.vim + +SynMenu AB.A2ps\ config:a2ps +SynMenu AB.Aap:aap +SynMenu AB.ABAP/4:abap +SynMenu AB.Abaqus:abaqus +SynMenu AB.ABC\ music\ notation:abc +SynMenu AB.ABEL:abel +SynMenu AB.AceDB\ model:acedb +SynMenu AB.Ada:ada + diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index 7047373e5..143d54ac8 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -2,7 +2,7 @@ " Language: Vim script " Maintainer: Hirohito Higashi " Doug Kearns -" Last Change: 2025 Feb 16 +" Last Change: 2025 Feb 23 " Former Maintainer: Charles E. Campbell " DO NOT CHANGE DIRECTLY. @@ -95,7 +95,7 @@ syn keyword vimGroup contained Comment Constant String Character Number Boolean " Default highlighting groups {{{2 " GEN_SYN_VIM: vimHLGroup, START_STR='syn keyword vimHLGroup contained', END_STR='' -syn keyword vimHLGroup contained ErrorMsg IncSearch ModeMsg NonText StatusLine StatusLineNC EndOfBuffer VertSplit VisualNOS DiffText PmenuSbar TabLineSel TabLineFill Cursor lCursor QuickFixLine CursorLineSign CursorLineFold CurSearch PmenuKind PmenuKindSel PmenuMatch PmenuMatchSel PmenuExtra PmenuExtraSel Normal Directory LineNr CursorLineNr MoreMsg Question Search SpellBad SpellCap SpellRare SpellLocal PmenuThumb Pmenu PmenuSel SpecialKey Title WarningMsg WildMenu Folded FoldColumn SignColumn Visual DiffAdd DiffChange DiffDelete TabLine CursorColumn CursorLine ColorColumn MatchParen StatusLineTerm StatusLineTermNC ToolbarLine ToolbarButton Menu Tooltip Scrollbar CursorIM LineNrAbove LineNrBelow +syn keyword vimHLGroup contained ErrorMsg IncSearch ModeMsg NonText StatusLine StatusLineNC EndOfBuffer VertSplit VisualNOS DiffText PmenuSbar TabLineSel TabLineFill Cursor lCursor QuickFixLine CursorLineSign CursorLineFold CurSearch PmenuKind PmenuKindSel PmenuMatch PmenuMatchSel PmenuExtra PmenuExtraSel PopupSelected MessageWindow PopupNotification Normal Directory LineNr CursorLineNr MoreMsg Question Search SpellBad SpellCap SpellRare SpellLocal PmenuThumb Pmenu PmenuSel SpecialKey Title WarningMsg WildMenu Folded FoldColumn SignColumn Visual DiffAdd DiffChange DiffDelete TabLine CursorColumn CursorLine ColorColumn MatchParen StatusLineTerm StatusLineTermNC ToolbarLine ToolbarButton Menu Tooltip Scrollbar CursorIM LineNrAbove LineNrBelow syn match vimHLGroup contained "\" syn case match @@ -240,7 +240,7 @@ syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vim 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,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList +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,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1 syn match vimCount contained "\d\+" @@ -950,6 +950,19 @@ syn match vimMap "\\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!' +" Vim user commands + +" Compiler plugins +syn match vimCompilerSet "\" skipwhite nextgroup=vimSetRegion + +" runtime/makemenu.vim +syn match vimSynMenu "\" skipwhite nextgroup=vimSynMenuPath +syn match vimSynMenuPath contained ".*\ze:" nextgroup=vimSynMenuColon contains=vimMenuNotation +syn match vimSynMenuColon contained ":" nextgroup=vimSynMenuName +syn match vimSynMenuName contained "\w\+" + +syn cluster vimExUserCmdList contains=vimCompilerSet,vimSynMenu + " Errors And Warnings: {{{2 " ==================== if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror") @@ -1674,6 +1687,10 @@ if !exists("skip_vim_syntax_inits") hi def link vim9Var vimCommand hi def link vim9Vim9ScriptArg Special hi def link vim9Vim9Script vimCommand + + hi def link vimCompilerSet vimCommand + hi def link vimSynMenu vimCommand + hi def link vimSynMenuPath vimMenuName endif " Current Syntax Variable: {{{2