Skip to content

Commit f7969d8

Browse files
committed
First pass at fix for #433
1 parent 69a2247 commit f7969d8

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

syntax/javascript.vim

+6-2
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ syntax region jsParenIfElse contained matchgroup=jsParens start=/(/
131131
syntax region jsParenRepeat contained matchgroup=jsParens start=/(/ end=/)/ contains=@jsAll skipwhite skipempty nextgroup=jsBlock fold extend
132132
syntax region jsParenSwitch contained matchgroup=jsParens start=/(/ end=/)/ contains=@jsAll skipwhite skipempty nextgroup=jsSwitchBlock fold extend
133133
syntax region jsParenCatch contained matchgroup=jsParens start=/(/ end=/)/ skipwhite skipempty nextgroup=jsBlock fold extend
134-
syntax region jsClassBlock contained matchgroup=jsClassBraces start=/{/ end=/}/ contains=jsFuncName,jsClassMethodDefinitions,jsOperator,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator fold
134+
syntax region jsClassBlock contained matchgroup=jsClassBraces start=/{/ end=/}/ contains=jsFuncName,jsClassMethodDefinitions,jsOperator,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty fold
135135
syntax region jsFuncBlock contained matchgroup=jsFuncBraces start=/{/ end=/}/ contains=@jsAll fold extend
136136
syntax region jsBlock contained matchgroup=jsBraces start=/{/ end=/}/ contains=@jsAll extend fold
137137
syntax region jsSwitchBlock contained matchgroup=jsBraces start=/{/ end=/}/ contains=@jsAll,jsLabel extend fold
@@ -157,10 +157,12 @@ exe 'syntax match jsArrowFunction /=>/ skipwhite skipempty nextgroup=jsFunc
157157

158158
syntax keyword jsClassKeywords contained extends class
159159
syntax match jsClassNoise contained /\./
160-
syntax match jsClassMethodDefinitions contained /\%(get\|set\|static\)\%( \k\+\)\@=/ skipwhite skipempty nextgroup=jsFuncName
160+
syntax match jsClassMethodDefinitions contained /\%(get\|set\|static\)\%( \k\+\)\@=/ skipwhite skipempty nextgroup=jsFuncName,jsClassProperty
161161
syntax match jsClassDefinition /\<class\>\%( [a-zA-Z_$][0-9a-zA-Z_$ \n.]*\)*/ contains=jsClassKeywords,jsClassNoise skipwhite skipempty nextgroup=jsClassBlock
162162
syntax match jsDecorator contained "@" nextgroup=jsDecoratorFunction
163163
syntax match jsDecoratorFunction contained "[a-zA-Z_][a-zA-Z0-9_.]*"
164+
syntax match jsClassProperty contained /\<[0-9a-zA-Z_$]*\>\(\s*=\)\@=/ skipwhite skipempty nextgroup=jsClassEquals
165+
syntax match jsClassEquals contained /=/ skipwhite skipempty nextgroup=@jsExpression
164166

165167
" Comments
166168
syntax keyword jsCommentTodo contained TODO FIXME XXX TBD
@@ -291,6 +293,8 @@ if version >= 508 || !exists("did_javascript_syn_inits")
291293
HiLink jsFuncArgRestDots Noise
292294
HiLink jsFuncArgDestructuring Noise
293295
HiLink jsModuleAsterisk Noise
296+
HiLink jsClassEquals Operator
297+
HiLink jsClassProperty Identifier
294298

295299
HiLink jsDomErrNo Constant
296300
HiLink jsDomNodeConsts Constant

0 commit comments

Comments
 (0)