runtime(vim): Update base-syntax and generator, match all default highlight groups

- Match Conceal, ComplMatchIns, MsgArea, Terminal, and User[1-9]
  highlight groups.
- Generate the vimGroup syntax group from runtime/syncolor.vim.
- Match :SynColor and :SynLink as special user commands.

fixes #17467
closes: #17556

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Doug Kearns
2025-07-03 20:57:03 +02:00
committed by Christian Brabandt
parent a9b5e4af43
commit c233c2e6a5
11 changed files with 244 additions and 79 deletions

View File

@ -1,7 +1,7 @@
" Vim syntax file generator
" Language: Vim script
" Maintainer: Hirohito Higashi (h_east)
" Last Change: 2025 Jun 24
" Last Change: 2025 Jul 03
let s:keepcpo= &cpo
set cpo&vim
@ -517,6 +517,33 @@ function s:parse_vim_function(li)
endtry
endfunc
" ------------------------------------------------------------------------------
function s:parse_vim_group(li)
try
let file_name = $VIM_SRCDIR . '/../runtime/syntax/syncolor.vim'
let item = {}
new
exec 'read ' . file_name
g!/^\s*Syn\%(Color\|Link\)/d
%s/^\s*Syn\%(Color\|Link\)\s\+\(\w\+\).*/\1/
for group in getline(1, line('$'))->sort()->uniq()
let item.name = group
call add(a:li, copy(item))
endfor
quit!
if empty(a:li)
throw 'group is empty'
endif
catch /.*/
call s:err_gen('')
throw 'exit'
endtry
endfunc
" ------------------------------------------------------------------------------
function s:parse_vim_hlgroup(li)
try
@ -568,15 +595,19 @@ function s:parse_vim_hlgroup(li)
" The following highlight groups cannot be extracted from highlight.c
" (TODO: extract from HIGHLIGHT_INIT ?)
let item.name = 'LineNrAbove'
let item.type = 'both'
call add(a:li, copy(item))
for group in ['ComplMatchIns', 'LineNrAbove', 'LineNrBelow', 'MsgArea', 'Terminal']
let item.name = group
let item.type = 'both'
call add(a:li, copy(item))
endfor
let item.name = 'LineNrBelow'
let item.type = 'both'
call add(a:li, copy(item))
for n in range(1, 9)
let item.name = 'User' .. n
let item.type = 'both'
call add(a:li, copy(item))
endfor
" "Conceal" is an option and cannot be used as keyword, so remove it.
" "Conceal" is a :syn option and cannot be used as keyword, so remove it.
" (Separately specified as 'syn match' in vim.vim.base).
call filter(a:li, {idx, val -> val.name !=# 'Conceal'})
@ -799,6 +830,11 @@ function s:update_syntax_vim_file(vim_info)
let lnum = s:search_and_check('vimAutoEvent', base_fname, str_info)
let lnum = s:append_syn_any(lnum, str_info, li)
" vimGroup
let li = a:vim_info.group
let lnum = s:search_and_check('vimGroup', base_fname, str_info)
let lnum = s:append_syn_any(lnum, str_info, li)
" vimHLGroup
let li = a:vim_info.hlgroup
let lnum = s:search_and_check('vimHLGroup', base_fname, str_info)
@ -1001,6 +1037,7 @@ try
let s:vim_info.cmd = []
let s:vim_info.event = []
let s:vim_info.func = []
let s:vim_info.group = []
let s:vim_info.hlgroup = []
let s:vim_info.compl_name = []
let s:vim_info.addr_name = []
@ -1013,6 +1050,7 @@ try
silent call s:parse_vim_command(s:vim_info.cmd)
silent call s:parse_vim_event(s:vim_info.event)
silent call s:parse_vim_function(s:vim_info.func)
silent call s:parse_vim_group(s:vim_info.group)
silent call s:parse_vim_hlgroup(s:vim_info.hlgroup)
silent call s:parse_vim_complete_name(s:vim_info.compl_name)
silent call s:parse_vim_addr_name(s:vim_info.addr_name)

View File

@ -88,7 +88,7 @@ syn keyword vimAutoEvent contained User skipwhite nextgroup=vimUserAutoEvent
syn match vimUserAutoEvent contained "\<\h\w*\>" skipwhite nextgroup=vimUserAutoEventSep,vimAutocmdMod,vimAutocmdBlock
" Highlight commonly used Groupnames {{{2
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
" GEN_SYN_VIM: vimGroup, START_STR='syn keyword vimGroup contained', END_STR=''
" Default highlighting groups {{{2
" GEN_SYN_VIM: vimHLGroup, START_STR='syn keyword vimHLGroup contained', END_STR=''
@ -230,7 +230,7 @@ syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=@vi
syn case match
" All vimCommands are contained by vimIsCommand. {{{2
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimCommandModifier,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,vimDelFunction,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,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,vimThrow,vimUniq,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimCommandModifier,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,vimDelFunction,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,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,vimSynColor,vimSynLink,vimThrow,vimUniq,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl
syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var
syn match vimCmdSep "\\\@1<!|" skipwhite nextgroup=@vimCmdList,vimSubst1,vimFunc
syn match vimCmdSep ":\+" skipwhite nextgroup=@vimCmdList,vimSubst1
@ -1423,7 +1423,13 @@ syn match vimSynMenuPath contained ".*\ze:" nextgroup=vimSynMenuColon contains=v
syn match vimSynMenuColon contained ":" nextgroup=vimSynMenuName
syn match vimSynMenuName contained "\w\+"
syn cluster vimExUserCmdList contains=vimCompilerSet,vimSynMenu
" runtime/syntax/syncolor.vim
syn match vimSynColor "\<SynColor\>" skipwhite nextgroup=vimSynColorGroup
syn match vimSynColorGroup contained "\<\h\w*\>" skipwhite nextgroup=vimHiKeyList contains=vimGroup
syn match vimSynLink "\<SynLink\>" skipwhite nextgroup=vimSynLinkGroup
syn match vimSynLinkGroup contained "\<\h\w*\>" skipwhite nextgroup=vimGroup contains=vimGroup
syn cluster vimExUserCmdList contains=vimCompilerSet,vimSynColor,vimSynLink,vimSynMenu
" Errors And Warnings: {{{2
" ====================
@ -1671,8 +1677,9 @@ endif
syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
syn match vimHiBang contained "\a\@1<=!" skipwhite nextgroup=@vimHighlightCluster
syn match vimHiGroup contained "\i\+"
syn case ignore
" Conceal is a generated low-priority match
syn match vimHiGroup contained "\%(\<Conceal\>\)\@!\i\+"
syn keyword vimHiNone contained NONE
syn keyword vimHiAttrib contained none bold inverse italic nocombine reverse standout strikethrough underline undercurl underdashed underdotted underdouble
syn keyword vimFgBgAttrib contained none bg background fg foreground
@ -2499,6 +2506,8 @@ if !exists("skip_vim_syntax_inits")
hi def link vim9Vim9Script vimCommand
hi def link vimCompilerSet vimCommand
hi def link vimSynColor vimCommand
hi def link vimSynLink vimCommand
hi def link vimSynMenu vimCommand
hi def link vimSynMenuPath vimMenuName
endif

View File

@ -1,20 +1,20 @@
>"+0#0000e05#ffffff0| |V|i|m| |:|h|i|g|h|l|i|g|h|t| |c|o|m@1|a|n|d| +0#0000000&@50
|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|H|i|G|r|o|u|p| |T|o|d|o| +0#0000000&@34
@75
@75
|"+0#0000e05&| |l|i|s|t| +0#0000000&@68
@75
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&@65
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@57
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|C+0#00e0003&|o|n|c|e|a|l| +0#0000000&@57
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@56
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@61
@75
@75
|"+0#0000e05&| |r|e|s|e|t| +0#0000000&@67
@75
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&@59
@75
@75
|"+0#0000e05&| |d|i|s|a|b|l|e| +0#0000000&@65
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@51
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@50
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&|N+0#00e0003&|O|N|E| +0#0000000&@52
@75
|"+0#0000e05&| |a|d@1|/|m|o|d|i|f|y| +0#0000000&@62
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&|c+0#00e0003&|t|e|r|m|=+0#0000000&|u+0#e000e06&|n|d|e|r|l|i|n|e| +0#0000000&@41
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@39
@75
|"+0#0000e05&| |l|i|n|k| +0#0000000&@68
@57|1|,|1| @10|T|o|p|

View File

@ -1,20 +1,20 @@
| +0&#ffffff0@74
|"+0#0000e05#ffffff0| |r|e|s|e|t| +0#0000000&@67
@75
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&@59
@75
@75
>"+0#0000e05&| |d|i|s|a|b|l|e| +0#0000000&@65
@75
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@51
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|C+0#00e0003&|o|n|c|e|a|l| +0#0000000&@51
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@50
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|c+0#00e0003&|l|e|a|r| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@55
@75
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&|N+0#00e0003&|O|N|E| +0#0000000&@52
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|C+0#00e0003&|o|n|c|e|a|l| +0#0000000&|N+0#00e0003&|O|N|E| +0#0000000&@52
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&|N+0#00e0003&|O|N|E| +0#0000000&@51
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|N+0#00e0003&|O|N|E| +0#0000000&@56
@75
@75
|"+0#0000e05&| |a|d@1|/|m|o|d|i|f|y| +0#0000000&@62
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&|c+0#00e0003&|t|e|r|m|=+0#0000000&|u+0#e000e06&|n|d|e|r|l|i|n|e| +0#0000000&@41
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@39
@75
>"+0#0000e05&| |l|i|n|k| +0#0000000&@68
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F|o@1| |C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@48
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F|o@1| |C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@47
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F|o@1| |N+0#00e0003&|O|N|E| +0#0000000&@51
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F|o@1| |N+0#00e0003&|O|N|E| +0#0000000&@50
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F|o@1| |E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@47
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F|o@1| |E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@46
@75
|"+0#0000e05&| |d|e|f|a|u|l|t| |l|i|n|k| +0#0000000&@60
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F|o@1| |C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@40
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F|o@1| |C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@39
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F|o@1| |N+0#00e0003&|O|N|E| +0#0000000&@43
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F|o@1| |N+0#00e0003&|O|N|E| +0#0000000&@42
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F|o@1| |E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@39
@57|1|9|,|1| @9|3|1|%|
@57|1|9|,|1| @9|1|4|%|

View File

@ -1,20 +1,20 @@
|h+0#af5f00255#ffffff0|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F|o@1| |E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@39
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F|o@1| |E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@38
|"+0#0000e05#ffffff0| |a|d@1|/|m|o|d|i|f|y| +0#0000000&@62
@75
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&|c+0#00e0003&|t|e|r|m|=+0#0000000&|u+0#e000e06&|n|d|e|r|l|i|n|e| +0#0000000&@41
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|C+0#00e0003&|o|n|c|e|a|l| +0#0000000&|c+0#00e0003&|t|e|r|m|=+0#0000000&|u+0#e000e06&|n|d|e|r|l|i|n|e| +0#0000000&@41
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&|c+0#00e0003&|t|e|r|m|=+0#0000000&|u+0#e000e06&|n|d|e|r|l|i|n|e| +0#0000000&@40
>h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|c+0#00e0003&|t|e|r|m|=+0#0000000&|u+0#e000e06&|n|d|e|r|l|i|n|e| +0#0000000&@45
@75
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@39
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| +0#0000000&|C+0#00e0003&|o|n|c|e|a|l| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@39
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| +0#0000000&|E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@38
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@42
@75
@75
|"+0#0000e05&| |l|i|n|e| |c|o|n|t|i|n|u|a|t|i|o|n| |a|n|d| |c|o|m@1|a|n|d| |s|e|p|a|r|a|t|o|r| +0#0000000&@33
> @74
|h+0#af5f00255&|i| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@64
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@57
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|C+0#e000002&|y|a|n| +0#0000000&@54
@6|\+0#e000e06&| +0#0000000&|g+0#00e0003&|u|i|f|g|=+0#0000000&|#+0#e000002&|8|0|a|0|f@1| +0#0000000&@53
@6|\+0#e000e06&| +0#0000000&|g+0#00e0003&|u|i|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@58
|"+0#0000e05&| |l|i|n|k| +0#0000000&@68
@75
|h+0#af5f00255&|i| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@64
@6|\+0#e000e06&| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@57
@6|\+0#e000e06&| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|C+0#e000002&|y|a|n| +0#0000000&@54
@6|\+0#e000e06&| +0#0000000&|g+0#00e0003&|u|i|f|g|=+0#0000000&|#+0#e000002&|8|0|a|0|f@1| +0#0000000&@53
@6|\+0#e000e06&| +0#0000000&|g+0#00e0003&|u|i|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@45
@57|3|7|,|0|-|1| @7|7|5|%|
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@48
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@47
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|N+0#00e0003&|O|N|E| +0#0000000&@51
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|N+0#00e0003&|O|N|E| +0#0000000&@50
@57|3|7|,|1| @9|3|4|%|

View File

@ -1,20 +1,20 @@
| +0&#ffffff0@5|\+0#e000e06&| +0#0000000&|g+0#00e0003&|u|i|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@45
|h+0#af5f00255#ffffff0|i|g|h|l|i|g|h|t|!| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|N+0#00e0003&|O|N|E| +0#0000000&@50
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@47
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|l+0#00e0003&|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@46
@75
|h+0#af5f00255&|i| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|C+0#e000002&|y|a|n| +0#0000000&|g+0#00e0003&|u|i|f|g|=+0#0000000&|#+0#e000002&|8|0|a|0|f@1| +0#0000000&|g+0#00e0003&|u|i|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@5
@75
|h+0#af5f00255&|i| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&@59
@6>\+0#e000e06&| +0#0000000&|F|o@1| @63
@6|\+0#e000e06&| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@59
>"+0#0000e05&| |d|e|f|a|u|l|t| |l|i|n|k| +0#0000000&@60
@75
|h+0#af5f00255&|i| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&@59
@6|\+0#e000e06&| +0#0000000&|F|o@1| @63
@6|\+0#e000e06&| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@46
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|5@1|,|7| @9|B|o|t|
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@40
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@39
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|N+0#00e0003&|O|N|E| +0#0000000&@43
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|N+0#00e0003&|O|N|E| +0#0000000&@42
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@39
|h+0#af5f00255&|i|g|h|l|i|g|h|t|!| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0|E+0#00e0003&|r@1|o|r|M|s|g| +0#0000000&@38
@75
@75
|"+0#0000e05&| |l|i|n|e| |c|o|n|t|i|n|u|a|t|i|o|n| |a|n|d| |c|o|m@1|a|n|d| |s|e|p|a|r|a|t|o|r| +0#0000000&@33
@75
|h+0#af5f00255&|i| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@64
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@57|5@1|,|1| @9|5@1|%|

View File

@ -0,0 +1,20 @@
| +0&#ffffff0@5|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@57
@6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
@6|\+0#e000e06&| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|C+0#e000002&|y|a|n| +0#0000000&@54
@6|\+0#e000e06&| +0#0000000&|g+0#00e0003&|u|i|f|g|=+0#0000000&|#+0#e000002&|8|0|a|0|f@1| +0#0000000&@53
@6>\+0#e000e06&| +0#0000000&|g+0#00e0003&|u|i|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@58
@75
|h+0#af5f00255&|i| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@64
@6|\+0#e000e06&| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&@57
@6|\+0#e000e06&| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|C+0#e000002&|y|a|n| +0#0000000&@54
@6|\+0#e000e06&| +0#0000000&|g+0#00e0003&|u|i|f|g|=+0#0000000&|#+0#e000002&|8|0|a|0|f@1| +0#0000000&@53
@6|\+0#e000e06&| +0#0000000&|g+0#00e0003&|u|i|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@45
@75
|h+0#af5f00255&|i| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&|t+0#00e0003&|e|r|m|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|C+0#e000002&|y|a|n| +0#0000000&|g+0#00e0003&|u|i|f|g|=+0#0000000&|#+0#e000002&|8|0|a|0|f@1| +0#0000000&|g+0#00e0003&|u|i|=+0#0000000&|b+0#e000e06&|o|l|d| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@5
@75
|h+0#af5f00255&|i| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&@59
@6|\+0#e000e06&| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@63
@6|\+0#e000e06&| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&@59
@75
@57|7|3|,|7| @9|7|5|%|

View File

@ -0,0 +1,20 @@
| +0&#ffffff0@74
|h+0#af5f00255&|i| +0#0000000&|d+0#00e0003&|e|f|a|u|l|t| |l|i|n|k| +0#0000000&@59
@6|\+0#e000e06&| +0#0000000&|F+0#0000001#ffff4012|o@1| +0#0000000#ffffff0@63
@6|\+0#e000e06&| +0#0000000&|C+0#00e0003&|o|m@1|e|n|t| +0#0000000&||| |e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&@46
@75
> @74
|"+0#0000e05&| |'|s|t|a|t|u|s|l|i|n|e|'| |u|s|e|r| |g|r|o|u|p|s| +0#0000000&@48
@75
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|U+0#00e0003&|s|e|r|1| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|b+0#e000002&|l|a|c|k| +0#0000000&@45
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|U+0#00e0003&|s|e|r|2| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|d+0#e000002&|a|r|k|b|l|u|e| +0#0000000&@42
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|U+0#00e0003&|s|e|r|3| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|d+0#e000002&|a|r|k|g|r|e@1|n| +0#0000000&@41
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|U+0#00e0003&|s|e|r|4| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|d+0#e000002&|a|r|k|c|y|a|n| +0#0000000&@42
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|U+0#00e0003&|s|e|r|5| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|d+0#e000002&|a|r|k|r|e|d| +0#0000000&@43
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|U+0#00e0003&|s|e|r|6| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|d+0#e000002&|a|r|k|m|a|g|e|n|t|a| +0#0000000&@39
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|U+0#00e0003&|s|e|r|7| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|d+0#e000002&|a|r|k|y|e|l@1|o|w| +0#0000000&@40
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|U+0#00e0003&|s|e|r|8| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|l+0#e000002&|i|g|h|t|g|r|a|y| +0#0000000&@41
|h+0#af5f00255&|i|g|h|l|i|g|h|t| +0#0000000&|U+0#00e0003&|s|e|r|9| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|d+0#e000002&|a|r|k|g|r|a|y| +0#0000000&@42
@75
@75
@57|9|1|,|0|-|1| @7|9|5|%|

View File

@ -0,0 +1,20 @@
| +0&#ffffff0@74
|"+0#0000e05&| |:|t|e|r|m|i|n|a|l| |g|r|o|u|p| +0#0000000&@57
@75
|h+0#af5f00255&|i| +0#0000000&|T+0#00e0003&|e|r|m|i|n|a|l| +0#0000000&|c+0#00e0003&|t|e|r|m|b|g|=+0#0000000&|r+0#e000002&|e|d| +0#0000000&|c+0#00e0003&|t|e|r|m|f|g|=+0#0000000&|b+0#e000002&|l|u|e| +0#0000000&@38
> @74
|~+0#4040ff13&| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
|~| @73
| +0#0000000&@56|1|0|8|,|0|-|1| @6|B|o|t|

View File

@ -1,22 +1,49 @@
" Vim :highlight command
" VIM_TEST_SETUP hi link vimHiGroup Todo
" list
highlight
highlight Comment
highlight Conceal
highlight ErrorMsg
highlight Foo
" reset
highlight clear
" disable
highlight clear Comment
highlight clear Conceal
highlight clear ErrorMsg
highlight clear Foo
highlight Comment NONE
highlight Conceal NONE
highlight ErrorMsg NONE
highlight Foo NONE
" add/modify
highlight Comment cterm=underline
highlight Conceal cterm=underline
highlight ErrorMsg cterm=underline
highlight Foo cterm=underline
highlight default Comment term=bold
highlight default Conceal term=bold
highlight default ErrorMsg term=bold
highlight Foo ErrorMsg term=bold
" link
highlight link Foo Comment
highlight! link Foo Comment
highlight link Foo NONE
@ -24,7 +51,9 @@ highlight! link Foo NONE
highlight link Foo ErrorMsg
highlight! link Foo ErrorMsg
" default link
highlight default link Foo Comment
highlight! default link Foo Comment
highlight default link Foo NONE
@ -58,3 +87,22 @@ hi default link
hi default link
\ Foo
\ Comment | echo "Foo"
" 'statusline' user groups
highlight User1 ctermfg=black
highlight User2 ctermfg=darkblue
highlight User3 ctermfg=darkgreen
highlight User4 ctermfg=darkcyan
highlight User5 ctermfg=darkred
highlight User6 ctermfg=darkmagenta
highlight User7 ctermfg=darkyellow
highlight User8 ctermfg=lightgray
highlight User9 ctermfg=darkgray
" :terminal group
hi Terminal ctermbg=red ctermfg=blue

View File

@ -128,12 +128,13 @@ syn keyword vimAutoEvent contained User skipwhite nextgroup=vimUserAutoEvent
syn match vimUserAutoEvent contained "\<\h\w*\>" skipwhite nextgroup=vimUserAutoEventSep,vimAutocmdMod,vimAutocmdBlock
" Highlight commonly used Groupnames {{{2
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
" GEN_SYN_VIM: vimGroup, START_STR='syn keyword vimGroup contained', END_STR=''
syn keyword vimGroup contained Added Boolean Changed Character Comment Conditional Constant Debug Define Delimiter Error Exception Float Function Identifier Ignore Include Keyword Label Macro Number Operator PreCondit PreProc Removed Repeat Special SpecialChar SpecialComment Statement StorageClass String Structure Tag Todo Type Typedef Underlined
" 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 DiffTextAdd PmenuSbar TabLineSel TabLineFill TabPanel TabPanelSel TabPanelFill 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
syn keyword vimHLGroup contained LineNrAbove LineNrBelow
syn keyword vimHLGroup contained ComplMatchIns LineNrAbove LineNrBelow MsgArea Terminal User1 User2 User3 User4 User5 User6 User7 User8 User9
syn match vimHLGroup contained "\<Conceal\>"
syn case match
@ -283,7 +284,7 @@ syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=@vi
syn case match
" All vimCommands are contained by vimIsCommand. {{{2
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimCommandModifier,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,vimDelFunction,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,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,vimThrow,vimUniq,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl
syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutocmd,vimAugroup,vimBehave,vimCall,vimCatch,vimCommandModifier,vimConst,vimDoautocmd,vimDebuggreedy,vimDef,vimDefFold,vimDelcommand,vimDelFunction,@vimEcho,vimElse,vimEnddef,vimEndfunction,vimEndif,vimExecute,vimIsCommand,vimExtCmd,vimExFilter,vimExMark,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,vimSynColor,vimSynLink,vimThrow,vimUniq,vimUnlet,vimUnlockvar,vimUnmap,vimUserCmd,vimVimgrep,vimVimgrepadd,vimMenu,vimMenutranslate,@vim9CmdList,@vimExUserCmdList,vimLua,vimMzScheme,vimPerl,vimPython,vimPython3,vimPythonX,vimRuby,vimTcl
syn cluster vim9CmdList contains=vim9Abstract,vim9Class,vim9Const,vim9Enum,vim9Export,vim9Final,vim9For,vim9Interface,vim9Type,vim9Var
syn match vimCmdSep "\\\@1<!|" skipwhite nextgroup=@vimCmdList,vimSubst1,vimFunc
syn match vimCmdSep ":\+" skipwhite nextgroup=@vimCmdList,vimSubst1
@ -1484,7 +1485,13 @@ syn match vimSynMenuPath contained ".*\ze:" nextgroup=vimSynMenuColon contains=v
syn match vimSynMenuColon contained ":" nextgroup=vimSynMenuName
syn match vimSynMenuName contained "\w\+"
syn cluster vimExUserCmdList contains=vimCompilerSet,vimSynMenu
" runtime/syntax/syncolor.vim
syn match vimSynColor "\<SynColor\>" skipwhite nextgroup=vimSynColorGroup
syn match vimSynColorGroup contained "\<\h\w*\>" skipwhite nextgroup=vimHiKeyList contains=vimGroup
syn match vimSynLink "\<SynLink\>" skipwhite nextgroup=vimSynLinkGroup
syn match vimSynLinkGroup contained "\<\h\w*\>" skipwhite nextgroup=vimGroup contains=vimGroup
syn cluster vimExUserCmdList contains=vimCompilerSet,vimSynColor,vimSynLink,vimSynMenu
" Errors And Warnings: {{{2
" ====================
@ -1732,8 +1739,9 @@ endif
syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
syn match vimHiBang contained "\a\@1<=!" skipwhite nextgroup=@vimHighlightCluster
syn match vimHiGroup contained "\i\+"
syn case ignore
" Conceal is a generated low-priority match
syn match vimHiGroup contained "\%(\<Conceal\>\)\@!\i\+"
syn keyword vimHiNone contained NONE
syn keyword vimHiAttrib contained none bold inverse italic nocombine reverse standout strikethrough underline undercurl underdashed underdotted underdouble
syn keyword vimFgBgAttrib contained none bg background fg foreground
@ -2560,6 +2568,8 @@ if !exists("skip_vim_syntax_inits")
hi def link vim9Vim9Script vimCommand
hi def link vimCompilerSet vimCommand
hi def link vimSynColor vimCommand
hi def link vimSynLink vimCommand
hi def link vimSynMenu vimCommand
hi def link vimSynMenuPath vimMenuName
endif