runtime(vim): Update base syntax, match "any" type distinctly
Allow for special highlighting of the "any" Vim9 type. Addresses comment https://github.com/vim/vim/pull/17722#issuecomment-3075531052 closes: #17769 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
138381bde0
commit
97501afda3
@ -2,7 +2,7 @@
|
||||
" Language: Vim script
|
||||
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
|
||||
" Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2025 Jul 16
|
||||
" Last Change: 2025 Jul 17
|
||||
" Former Maintainer: Charles E. Campbell
|
||||
|
||||
" DO NOT CHANGE DIRECTLY.
|
||||
@ -598,14 +598,15 @@ syn region vimReturnType contained
|
||||
syn match vimParamType contained ":\s" skipwhite skipnl nextgroup=@vimType contains=vimTypeSep
|
||||
|
||||
syn match vimTypeSep contained ":\%(\s\|\n\)\@=" skipwhite nextgroup=@vimType
|
||||
syn keyword vimType contained any blob bool channel float job number string void
|
||||
syn keyword vimType contained blob bool channel float job number string void
|
||||
syn keyword vimTypeAny contained any
|
||||
syn match vimType contained "\<\%(func\)\>"
|
||||
syn region vimCompoundType contained matchgroup=vimType start="\<func(" end=")" nextgroup=vimTypeSep contains=@vim9Continue,@vimType transparent
|
||||
syn region vimCompoundType contained matchgroup=vimType start="\<tuple<" end=">" contains=@vim9Continue,@vimType transparent
|
||||
syn region vimCompoundType contained matchgroup=vimType start="\<\%(list\|dict\)<" end=">" contains=@vimType oneline transparent
|
||||
syn match vimUserType contained "\<\%(\h\w*\.\)*\u\w*\>"
|
||||
|
||||
syn cluster vimType contains=vimType,vimCompoundType,vimUserType
|
||||
syn cluster vimType contains=vimType,vimTypeAny,vimCompoundType,vimUserType
|
||||
|
||||
" Classes, Enums And Interfaces: {{{2
|
||||
" =============================
|
||||
@ -1119,7 +1120,8 @@ syn match vim9Variable contained "\<\h\w*\>" skipwhite nextgroup=vim9VariableTyp
|
||||
syn region vim9VariableList contained start="\[" end="]" contains=@vimContinue,@vimSpecialVar,vim9Variable skipwhite nextgroup=vimLetHeredoc
|
||||
|
||||
syn match vim9VariableTypeSep contained "\S\@1<=:\%(\s\|\n\)\@=" skipwhite nextgroup=@vim9VariableType
|
||||
syn keyword vim9VariableType contained any blob bool channel float job number string void skipwhite nextgroup=vimLetHeredoc
|
||||
syn keyword vim9VariableType contained blob bool channel float job number string void skipwhite nextgroup=vimLetHeredoc
|
||||
syn keyword vim9VariableTypeAny contained any skipwhite nextgroup=vimLetHeredoc
|
||||
syn match vim9VariableType contained "\<\%(func\)\>" skipwhite nextgroup=vimLetHeredoc
|
||||
syn region vim9VariableCompoundType contained
|
||||
\ matchgroup=vim9VariableType
|
||||
@ -1145,7 +1147,7 @@ syn region vim9VariableCompoundType contained
|
||||
\ transparent
|
||||
syn match vim9VariableUserType contained "\<\%(\h\w*\.\)*\u\w*\>" skipwhite nextgroup=vimLetHeredoc
|
||||
|
||||
syn cluster vim9VariableType contains=vim9VariableType,vim9VariableCompoundType,vim9VariableUserType
|
||||
syn cluster vim9VariableType contains=vim9VariableType,vim9VariableTypeAny,vim9VariableCompoundType,vim9VariableUserType
|
||||
|
||||
" Lockvar and Unlockvar: {{{2
|
||||
" =====================
|
||||
@ -2486,6 +2488,7 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimThrow vimCommand
|
||||
hi def link vimTodo Todo
|
||||
hi def link vimType Type
|
||||
hi def link vimTypeAny vimType
|
||||
hi def link vimUniq vimCommand
|
||||
hi def link vimUniqBang vimBang
|
||||
hi def link vimUniqOptions Special
|
||||
@ -2576,6 +2579,7 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vim9TypeEquals vimOper
|
||||
hi def link vim9Variable vimVar
|
||||
hi def link vim9VariableType vimType
|
||||
hi def link vim9VariableTypeAny vimType
|
||||
hi def link vim9Var vimCommand
|
||||
hi def link vim9Vim9ScriptArg Special
|
||||
hi def link vim9Vim9Script vimCommand
|
||||
|
||||
Reference in New Issue
Block a user