" Language: Vim script
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
" Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2025 Nov 10
+" Last Change: 2025 Nov 11
" Former Maintainer: Charles E. Campbell
" DO NOT CHANGE DIRECTLY.
syn match vimTypeSep contained ":\%(\s\|\n\)\@=" skipwhite nextgroup=@vimType
syn keyword vimType contained blob bool channel float job number string void
syn keyword vimTypeAny contained any
-syn region vimTypeObject contained
- \ matchgroup=vimType
- \ start="\<object<"
+syn match vimTypeObject contained "\<object<\@=" nextgroup=vimTypeObjectArgs
+syn region vimTypeObjectArgs contained
+ \ matchgroup=vimTypeObjectBracket
+ \ start="<"
\ end=">"
\ contains=vimTypeAny,vimTypeObject,vimUserType
\ oneline
syn match vim9VariableTypeSep contained "\S\@1<=:\%(\s\|\n\)\@=" skipwhite nextgroup=@vim9VariableType
syn keyword vim9VariableType contained blob bool channel float job number string void skipwhite nextgroup=vimLetHeredoc
syn keyword vim9VariableTypeAny contained any skipwhite nextgroup=vimLetHeredoc
-syn region vim9VariableTypeObject contained
- \ matchgroup=vimType
- \ start="\<object<"
+syn match vim9VariableTypeObject contained "\<object<\@=" nextgroup=vim9VariableTypeObjectArgs
+syn region vim9VariableTypeObjectArgs
+ \ matchgroup=vim9VariableTypeObjectBracket
+ \ start="<"
\ end=">"
\ contains=vimTypeAny,vimTypeObject,vimUserType
\ oneline
hi def link vimType Type
hi def link vimTypeAny vimType
hi def link vimTypeObject vimType
+ hi def link vimTypeObjectBracket vimTypeObject
hi def link vimUniq vimCommand
hi def link vimUniqBang vimBang
hi def link vimUniqOptions Special
hi def link vim9VariableType vimType
hi def link vim9VariableTypeAny vimTypeAny
hi def link vim9VariableTypeObject vimTypeObject
+ hi def link vim9VariableTypeObjectBracket vimTypeObjectBracket
hi def link vim9Var vimCommand
hi def link vim9Vim9ScriptArg Special
hi def link vim9Vim9Script vimCommand
>v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64
|#+0#0000e05&| |V|i|m|9| |o|b|j|e|c|t| |t|y|p|e| |c|o|n|s|t|r|u|c|t|o|r| +0#0000000&@44
-|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|T|y|p|e|O|b|j|e|c|t| |T|o|d|o| +0#0000000&@31
-|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|9|V|a|r|i|a|b|l|e|T|y|p|e|O|b|j|e|c|t| |T|o|d|o| +0#0000000&@22
@75
@75
|#+0#0000e05&| |I|s@1|u|e| |#|1|8|6|7@1| |(|N|o| |r|e|c|o|g|n|i|t|i|o|n| |o|f| |o|b|j|e|c|t|<|a|n|y|>| |t|y|p|e|s| |-| |A|l|i|a|k|s|e|i| |B|u|d|a|v|e|i|)| +0#0000000&@3
|e+0#af5f00255&|n|d|c|l|a|s@1| +0#0000000&@66
@75
|e+0#af5f00255&|n|u|m| +0#0000000&|E| |i+0#af5f00255&|m|p|l|e|m|e|n|t|s| +0#0000000&|I| @55
+@2|I|N|S|T|A|N|C|E| @64
+@75
@57|1|,|1| @10|T|o|p|
-| +0&#ffffff0@1|d+0#af5f00255&|e|f| +0#0000000&|s+0#00e0e07&|t|r|i|n|g|(+0#e000e06&|)|:+0#0000000&| |s+0#00e0003&|t|r|i|n|g| +0#0000000&@52
-@4|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|"+0#e000002&|C|"| +0#0000000&@60
-@2|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@66
+| +0&#ffffff0@1|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@66
|e+0#af5f00255&|n|d|c|l|a|s@1| +0#0000000&@66
@75
->e+0#af5f00255&|n|u|m| +0#0000000&|E| |i+0#af5f00255&|m|p|l|e|m|e|n|t|s| +0#0000000&|I| @55
+|e+0#af5f00255&|n|u|m| +0#0000000&|E| |i+0#af5f00255&|m|p|l|e|m|e|n|t|s| +0#0000000&|I| @55
@2|I|N|S|T|A|N|C|E| @64
-@75
+> @74
@2|d+0#af5f00255&|e|f| +0#0000000&|s+0#00e0e07&|t|r|i|n|g|(+0#e000e06&|)|:+0#0000000&| |s+0#00e0003&|t|r|i|n|g| +0#0000000&@52
@4|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|"+0#e000002&|E|"| +0#0000000&@60
@2|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@66
|e+0#af5f00255&|c|h|o| +0#0000000&|(+0#e000e06&|c+0#0000000&|,| |e|)+0#e000e06&| +0#0000000&|=+0#af5f00255&@1| +0#0000000&|o|s| @57
@75
|~+0#4040ff13&| @73
-| +0#0000000&@56|1|9|,|1| @9|B|o|t|
+|~| @73
+|~| @73
+| +0#0000000&@56|1|9|,|0|-|1| @7|B|o|t|
>v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64
|#+0#0000e05&| |V|i|m|9| |o|b|j|e|c|t| |t|y|p|e| |c|o|n|s|t|r|u|c|t|o|r| +0#0000000&@44
-|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|I|y|p|e|O|b|j|e|c|t| |T|o|d|o| +0#0000000&@31
-|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|9|V|a|r|i|a|b|l|e|I|y|p|e|O|b|j|e|c|t| |T|o|d|o| +0#0000000&@22
+|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|T|y|p|e|O|b|j|e|c|t| |T|o|d|o| +0#0000000&@31
+|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i| |l|i|n|k| |v|i|m|T|y|p|e|O|b|j|e|c|t|B|r|a|c|k|e|t| |T|i|t|l|e| +0#0000000&@23
@75
@75
|i+0#af5f00255&|n|t|e|r|f|a|c|e| +0#0000000&|I| @63
|e+0#af5f00255&|n|d|i|n|t|e|r|f|a|c|e| +0#0000000&@62
@75
-|v+0#af5f00255&|a|r| +0#0000000&|a|:| |o+0#00e0003&|b|j|e|c|t|<|I+0#0000000&|>+0#00e0003&| +0#0000000&@58
-|v+0#af5f00255&|a|r| +0#0000000&|b|:| |o+0#00e0003&|b|j|e|c|t|<|a|n|y|>| +0#0000000&@56
-|v+0#af5f00255&|a|r| +0#0000000&|c|:| |o+0#00e0003&|b|j|e|c|t|<|o|b|j|e|c|t|<|I+0#0000000&|>+0#00e0003&@1| +0#0000000&@50
-|v+0#af5f00255&|a|r| +0#0000000&|d|:| |o+0#00e0003&|b|j|e|c|t|<|o|b|j|e|c|t|<|a|n|y|>@1| +0#0000000&@48
+|v+0#af5f00255&|a|r| +0#0000000&|a|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|I+0#0000000&|>+0#e000e06&| +0#0000000&@58
+|v+0#af5f00255&|a|r| +0#0000000&|b|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|a+0#00e0003&|n|y|>+0#e000e06&| +0#0000000&@56
+|v+0#af5f00255&|a|r| +0#0000000&|c|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|I+0#0000000&|>+0#e000e06&@1| +0#0000000&@50
+|v+0#af5f00255&|a|r| +0#0000000&|d|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|a+0#00e0003&|n|y|>+0#e000e06&@1| +0#0000000&@48
@75
|d+0#af5f00255&|e|f| +0#0000000&|F|o@1|(+0#e000e06&| +0#0000000&@66
-@4|a|r|g|1|:| |o+0#00e0003&|b|j|e|c|t|<|I+0#0000000&|>+0#00e0003&|,+0#0000000&| @54
-@4|a|r|g|2|:| |o+0#00e0003&|b|j|e|c|t|<|a|n|y|>|,+0#0000000&| @52
-@4|a|r|g|3|:| |o+0#00e0003&|b|j|e|c|t|<|o|b|j|e|c|t|<|I+0#0000000&|>+0#00e0003&@1|,+0#0000000&| @46
-@4|a|r|g|4|:| |o+0#00e0003&|b|j|e|c|t|<|o|b|j|e|c|t|<|a|n|y|>@1|)+0#e000e06&| +0#0000000&@44
+@4|a|r|g|1|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|I+0#0000000&|>+0#e000e06&|,+0#0000000&| @54
+@4|a|r|g|2|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|a+0#00e0003&|n|y|>+0#e000e06&|,+0#0000000&| @52
+@4|a|r|g|3|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|I+0#0000000&|>+0#e000e06&@1|,+0#0000000&| @46
+@4|a|r|g|4|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|a+0#00e0003&|n|y|>+0#e000e06&@1|)| +0#0000000&@44
@57|1|,|1| @10|T|o|p|
| +0&#ffffff0@74
|d+0#af5f00255&|e|f| +0#0000000&|F|o@1|(+0#e000e06&| +0#0000000&@66
-@4|a|r|g|1|:| |o+0#00e0003&|b|j|e|c|t|<|I+0#0000000&|>+0#00e0003&|,+0#0000000&| @54
-@4|a|r|g|2|:| |o+0#00e0003&|b|j|e|c|t|<|a|n|y|>|,+0#0000000&| @52
-@4|a|r|g|3|:| |o+0#00e0003&|b|j|e|c|t|<|o|b|j|e|c|t|<|I+0#0000000&|>+0#00e0003&@1|,+0#0000000&| @46
-@4>a|r|g|4|:| |o+0#00e0003&|b|j|e|c|t|<|o|b|j|e|c|t|<|a|n|y|>@1|)+0#e000e06&| +0#0000000&@44
+@4|a|r|g|1|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|I+0#0000000&|>+0#e000e06&|,+0#0000000&| @54
+@4|a|r|g|2|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|a+0#00e0003&|n|y|>+0#e000e06&|,+0#0000000&| @52
+@4|a|r|g|3|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|I+0#0000000&|>+0#e000e06&@1|,+0#0000000&| @46
+@4>a|r|g|4|:| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|a+0#00e0003&|n|y|>+0#e000e06&@1|)| +0#0000000&@44
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
@75
-|d+0#af5f00255&|e|f| +0#0000000&|B|a|r|(+0#e000e06&|)|:+0#0000000&| |o+0#00e0003&|b|j|e|c|t|<|I+0#0000000&|>+0#00e0003&| +0#0000000&@54
+|d+0#af5f00255&|e|f| +0#0000000&|B|a|r|(+0#e000e06&|)|:+0#0000000&| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|I+0#0000000&|>+0#e000e06&| +0#0000000&@54
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
@75
-|d+0#af5f00255&|e|f| +0#0000000&|B|a|z|(+0#e000e06&|)|:+0#0000000&| |o+0#00e0003&|b|j|e|c|t|<|o|b|j|e|c|t|<|I+0#0000000&|>+0#00e0003&@1| +0#0000000&@46
+|d+0#af5f00255&|e|f| +0#0000000&|B|a|z|(+0#e000e06&|)|:+0#0000000&| |o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|o+0#0000001#ffff4012|b|j|e|c|t|<+0#e000e06#ffffff0|I+0#0000000&|>+0#e000e06&@1| +0#0000000&@46
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
@75
|~+0#4040ff13&| @73
vim9script
# Vim9 object type constructor
-# VIM_TEST_SETUP hi link vimTypeObject Todo
-# VIM_TEST_SETUP hi link vim9VariableTypeObject Todo
# Issue #18677 (No recognition of object<any> types - Aliaksei Budavei)
vim9script
# Vim9 object type constructor
-# VIM_TEST_SETUP hi link vimIypeObject Todo
-# VIM_TEST_SETUP hi link vim9VariableIypeObject Todo
+# VIM_TEST_SETUP hi link vimTypeObject Todo
+# VIM_TEST_SETUP hi link vimTypeObjectBracket Title
interface I
" Language: Vim script
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
" Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2025 Nov 10
+" Last Change: 2025 Nov 11
" Former Maintainer: Charles E. Campbell
" DO NOT CHANGE DIRECTLY.
syn match vimTypeSep contained ":\%(\s\|\n\)\@=" skipwhite nextgroup=@vimType
syn keyword vimType contained blob bool channel float job number string void
syn keyword vimTypeAny contained any
-syn region vimTypeObject contained
- \ matchgroup=vimType
- \ start="\<object<"
+syn match vimTypeObject contained "\<object<\@=" nextgroup=vimTypeObjectArgs
+syn region vimTypeObjectArgs contained
+ \ matchgroup=vimTypeObjectBracket
+ \ start="<"
\ end=">"
\ contains=vimTypeAny,vimTypeObject,vimUserType
\ oneline
syn match vim9VariableTypeSep contained "\S\@1<=:\%(\s\|\n\)\@=" skipwhite nextgroup=@vim9VariableType
syn keyword vim9VariableType contained blob bool channel float job number string void skipwhite nextgroup=vimLetHeredoc
syn keyword vim9VariableTypeAny contained any skipwhite nextgroup=vimLetHeredoc
-syn region vim9VariableTypeObject contained
- \ matchgroup=vimType
- \ start="\<object<"
+syn match vim9VariableTypeObject contained "\<object<\@=" nextgroup=vim9VariableTypeObjectArgs
+syn region vim9VariableTypeObjectArgs
+ \ matchgroup=vim9VariableTypeObjectBracket
+ \ start="<"
\ end=">"
\ contains=vimTypeAny,vimTypeObject,vimUserType
\ oneline
hi def link vimType Type
hi def link vimTypeAny vimType
hi def link vimTypeObject vimType
+ hi def link vimTypeObjectBracket vimTypeObject
hi def link vimUniq vimCommand
hi def link vimUniqBang vimBang
hi def link vimUniqOptions Special
hi def link vim9VariableType vimType
hi def link vim9VariableTypeAny vimTypeAny
hi def link vim9VariableTypeObject vimTypeObject
+ hi def link vim9VariableTypeObjectBracket vimTypeObjectBracket
hi def link vim9Var vimCommand
hi def link vim9Vim9ScriptArg Special
hi def link vim9Vim9Script vimCommand