@@ -145,7 +145,7 @@ syntax region jsParenFor contained matchgroup=jsParensFor s
145145syntax region jsParenSwitch contained matchgroup =jsParensSwitch start =/ (/ end =/ )/ contains =@jsExpression skipwhite skipempty nextgroup =jsSwitchBlock extend fold
146146syntax region jsParenCatch contained matchgroup =jsParensCatch start =/ (/ end =/ )/ skipwhite skipempty nextgroup =jsTryCatchBlock extend fold
147147syntax region jsFuncArgs contained matchgroup =jsFuncParens start =/ (/ end =/ )/ contains =jsFuncArgCommas,jsComment,jsFuncArgExpression,jsDestructuringBlock,jsDestructuringArray,jsRestExpression,jsFlowArgumentDef skipwhite skipempty nextgroup =jsCommentFunction,jsFuncBlock,jsFlowReturn extend fold
148- syntax region jsClassBlock contained matchgroup =jsClassBraces start =/ {/ end =/ }/ contains =jsClassFuncName,jsClassMethodType,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsAsyncKeyword,jsNoise extend fold
148+ syntax region jsClassBlock contained matchgroup =jsClassBraces start =/ {/ end =/ }/ contains =jsClassFuncName,jsClassMethodType,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsAsyncKeyword,jsModifier, jsNoise extend fold
149149syntax region jsFuncBlock contained matchgroup =jsFuncBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
150150syntax region jsIfElseBlock contained matchgroup =jsIfElseBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
151151syntax region jsTryCatchBlock contained matchgroup =jsTryCatchBraces start =/ {/ end =/ }/ contains =@jsAll skipwhite skipempty nextgroup =jsCatch,jsFinally extend fold
@@ -184,6 +184,7 @@ exe 'syntax match jsArrowFunction /_\ze\s*=>/ skipwhite skipempty nextgroup=j
184184" Classes
185185syntax keyword jsClassKeyword contained class
186186syntax keyword jsExtendsKeyword contained extends skipwhite skipempty nextgroup =@jsExpression
187+ syntax match jsModifier contained / \# /
187188syntax match jsClassNoise contained / \. /
188189syntax match jsClassFuncName contained / \<\K\k *\z e\s *[(<]/ skipwhite skipempty nextgroup =jsFuncArgs,jsFlowClassFunctionGroup
189190syntax match jsClassMethodType contained / \<\% ([gs]et\| static\| accessor\)\z e\s\+\K\k */ skipwhite skipempty nextgroup =jsAsyncKeyword,jsClassFuncName,jsClassProperty
@@ -237,7 +238,7 @@ if exists("javascript_plugin_flow")
237238endif
238239
239240syntax cluster jsExpression contains =jsBracket,jsParen,jsObject,jsTernaryIf,jsTaggedTemplate,jsTemplateString,jsString,jsRegexpString,jsNumber,jsFloat,jsOperator,jsOperatorKeyword,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsFuncCall,jsUndefined,jsNan,jsPrototype,jsBuiltins,jsNoise,jsClassDefinition,jsArrowFunction,jsArrowFuncArgs,jsParensError,jsComment,jsArguments,jsThis,jsSuper,jsDo,jsForAwait,jsAsyncKeyword,jsStatement,jsDot
240- syntax cluster jsAll contains =@jsExpression,jsStorageClass,jsConditional,jsWhile,jsFor,jsReturn,jsException,jsTry,jsNoise,jsBlockLabel,jsBlock
241+ syntax cluster jsAll contains =@jsExpression,jsStorageClass,jsConditional,jsWhile,jsFor,jsReturn,jsException,jsTry,jsNoise,jsBlockLabel,jsBlock,jsModifier
241242
242243" Define the default highlighting.
243244" For version 5.7 and earlier: only when not done already
@@ -305,6 +306,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
305306 HiLink jsOperator Operator
306307 HiLink jsOf Operator
307308 HiLink jsStorageClass StorageClass
309+ HiLink jsModifier StorageClass
308310 HiLink jsClassKeyword Keyword
309311 HiLink jsExtendsKeyword Keyword
310312 HiLink jsThis Special
0 commit comments