diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index 33133f4335..ec9c5e1ce5 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -692,12 +692,19 @@ if s:vim9script syn cluster vim9EnumNameContinue contains=vim9EnumNameContinue,vim9EnumNameContinueComment " enforce enum value list location - syn match vim9EnumValue contained "\<\a\w*\>" nextgroup=vim9EnumValueArgList,vim9EnumValueListComma,vim9Comment + syn match vim9EnumValue contained "\<\a\w*\>" nextgroup=vim9EnumValueTypeArgs,vim9EnumValueArgList,vim9EnumValueListComma,vim9Comment syn match vim9EnumValueListComma contained "," skipwhite skipempty nextgroup=vim9EnumValue,vim9EnumValueListCommaComment syn region vim9EnumValueListCommaComment contained \ start="#" skip="\n\s*\%(\\\|#\\ \)" end="$" \ skipwhite skipempty nextgroup=vim9EnumValueListCommaComment,vim9EnumValue \ contains=@vimCommentGroup,vimCommentString + syn region vim9EnumValueTypeArgs contained + \ matchgroup=Delimiter + \ start="<\ze\a" + \ end=">" + \ nextgroup=vim9EnumValueArgList + \ contains=@vimType + \ oneline syn region vim9EnumValueArgList contained \ matchgroup=vimParenSep start="(" end=")" \ nextgroup=vim9EnumValueListComma