22" Language: Vim script
33" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
44" Doug Kearns <dougkearns@gmail.com>
5- " Last Change: 2025 Nov 04
5+ " Last Change: 2025 Nov 07
66" Former Maintainer: Charles E. Campbell
77
88" DO NOT CHANGE DIRECTLY.
@@ -575,13 +575,20 @@ syn match vimParamType contained ":\s" skipwhite skipnl nextgroup=@vimType conta
575575syn match vimTypeSep contained " :\% (\s\|\n\)\@ =" skipwhite nextgroup =@vimType
576576syn keyword vimType contained blob bool channel float job number string void
577577syn keyword vimTypeAny contained any
578+ syn region vimTypeObject contained
579+ \ matchgroup= vimType
580+ \ start = " \< object<"
581+ \ end = " >"
582+ \ contains= vimTypeAny,vimTypeObject,vimUserType
583+ \ oneline
584+ \ transparent
578585syn match vimType contained " \<\% (func\)\> "
579586syn region vimCompoundType contained matchgroup =vimType start =" \< func(" end =" )" nextgroup =vimTypeSep contains =@vim9Continue,@vimType transparent
580587syn region vimCompoundType contained matchgroup =vimType start =" \< tuple<" end =" >" contains =@vim9Continue,@vimType transparent
581588syn region vimCompoundType contained matchgroup =vimType start =" \<\% (list\| dict\) <" end =" >" contains =@vimType oneline transparent
582589syn match vimUserType contained " \<\% (\h\w *\.\) *\u\w *\> "
583590
584- syn cluster vimType contains =vimType,vimTypeAny,vimCompoundType,vimUserType
591+ syn cluster vimType contains =vimType,vimTypeAny,vimTypeObject, vimCompoundType,vimUserType
585592
586593" Classes, Enums And Interfaces: {{{2
587594" =============================
@@ -1130,6 +1137,13 @@ syn region vim9VariableList contained start="\[" end="]" contains=@vimContinue,@
11301137syn match vim9VariableTypeSep contained " \S\@ 1<=:\% (\s\|\n\)\@ =" skipwhite nextgroup =@vim9VariableType
11311138syn keyword vim9VariableType contained blob bool channel float job number string void skipwhite nextgroup =vimLetHeredoc
11321139syn keyword vim9VariableTypeAny contained any skipwhite nextgroup =vimLetHeredoc
1140+ syn region vim9VariableTypeObject contained
1141+ \ matchgroup= vimType
1142+ \ start = " \< object<"
1143+ \ end = " >"
1144+ \ contains= vimTypeAny,vimTypeObject,vimUserType
1145+ \ oneline
1146+ \ transparent
11331147syn match vim9VariableType contained " \<\% (func\)\> " skipwhite nextgroup =vimLetHeredoc
11341148syn region vim9VariableCompoundType contained
11351149 \ matchgroup= vim9VariableType
@@ -1155,7 +1169,7 @@ syn region vim9VariableCompoundType contained
11551169 \ transparent
11561170syn match vim9VariableUserType contained " \<\% (\h\w *\.\) *\u\w *\> " skipwhite nextgroup =vimLetHeredoc
11571171
1158- syn cluster vim9VariableType contains =vim9VariableType,vim9VariableTypeAny,vim9VariableCompoundType,vim9VariableUserType
1172+ syn cluster vim9VariableType contains =vim9VariableType,vim9VariableTypeAny,vim9VariableTypeObject, vim9VariableCompoundType,vim9VariableUserType
11591173
11601174" Lockvar and Unlockvar: {{{2
11611175" =====================
@@ -2586,6 +2600,7 @@ if !exists("skip_vim_syntax_inits")
25862600 hi def link vimTodo Todo
25872601 hi def link vimType Type
25882602 hi def link vimTypeAny vimType
2603+ hi def link vimTypeObject vimType
25892604 hi def link vimUniq vimCommand
25902605 hi def link vimUniqBang vimBang
25912606 hi def link vimUniqOptions Special
@@ -2677,7 +2692,8 @@ if !exists("skip_vim_syntax_inits")
26772692 hi def link vim9TypeEquals vimOper
26782693 hi def link vim9Variable vimVar
26792694 hi def link vim9VariableType vimType
2680- hi def link vim9VariableTypeAny vimType
2695+ hi def link vim9VariableTypeAny vimTypeAny
2696+ hi def link vim9VariableTypeObject vimTypeObject
26812697 hi def link vim9Var vimCommand
26822698 hi def link vim9Vim9ScriptArg Special
26832699 hi def link vim9Vim9Script vimCommand
0 commit comments