Skip to content

Commit d4638d0

Browse files
authored
Add private field modifier to classes
Add syntax highlighting to the private field modifier `#` as defined in tc39/proposal-class-fields, tc39/proposal-static-class-features and tc39/proposal-private-methods
1 parent 585ad54 commit d4638d0

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

syntax/javascript.vim

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ syntax region jsParenRepeat contained matchgroup=jsParensRepeat s
141141
syntax region jsParenSwitch contained matchgroup=jsParensSwitch start=/(/ end=/)/ contains=@jsAll skipwhite skipempty nextgroup=jsSwitchBlock extend fold
142142
syntax region jsParenCatch contained matchgroup=jsParensCatch start=/(/ end=/)/ skipwhite skipempty nextgroup=jsTryCatchBlock extend fold
143143
syntax region jsFuncArgs contained matchgroup=jsFuncParens start=/(/ end=/)/ contains=jsFuncArgCommas,jsComment,jsFuncArgExpression,jsDestructuringBlock,jsDestructuringArray,jsRestExpression,jsFlowArgumentDef skipwhite skipempty nextgroup=jsCommentFunction,jsFuncBlock,jsFlowReturn extend fold
144-
syntax region jsClassBlock contained matchgroup=jsClassBraces start=/{/ end=/}/ contains=jsClassFuncName,jsClassMethodType,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsAsyncKeyword,jsNoise extend fold
145-
syntax region jsFuncBlock contained matchgroup=jsFuncBraces start=/{/ end=/}/ contains=@jsAll,jsBlock extend fold
144+
syntax region jsClassBlock contained matchgroup=jsClassBraces start=/{/ end=/}/ contains=jsClassFuncName,jsClassMethodType,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsAsyncKeyword,jsModifier,jsNoise extend fold
145+
syntax region jsFuncBlock contained matchgroup=jsFuncBraces start=/{/ end=/}/ contains=@jsAll,jsBlock,jsModifier extend fold
146146
syntax region jsIfElseBlock contained matchgroup=jsIfElseBraces start=/{/ end=/}/ contains=@jsAll,jsBlock extend fold
147147
syntax region jsTryCatchBlock contained matchgroup=jsTryCatchBraces start=/{/ end=/}/ contains=@jsAll,jsBlock skipwhite skipempty nextgroup=jsCatch,jsFinally extend fold
148148
syntax region jsFinallyBlock contained matchgroup=jsFinallyBraces start=/{/ end=/}/ contains=@jsAll,jsBlock extend fold
@@ -180,6 +180,7 @@ exe 'syntax match jsArrowFunction /_\ze\s*=>/ skipwhite skipempty nextgroup=j
180180
" Classes
181181
syntax keyword jsClassKeyword contained class
182182
syntax keyword jsExtendsKeyword contained extends skipwhite skipempty nextgroup=@jsExpression
183+
syntax match jsModifier contained /\#/
183184
syntax match jsClassNoise contained /\./
184185
syntax match jsClassFuncName contained /\<\K\k*\ze\s*[(<]/ skipwhite skipempty nextgroup=jsFuncArgs,jsFlowClassFunctionGroup
185186
syntax match jsClassMethodType contained /\<\%([gs]et\|static\)\ze\s\+\K\k*/ skipwhite skipempty nextgroup=jsAsyncKeyword,jsClassFuncName,jsClassProperty
@@ -297,6 +298,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
297298
HiLink jsOperator Operator
298299
HiLink jsOf Operator
299300
HiLink jsStorageClass StorageClass
301+
HiLink jsModifier StorageClass
300302
HiLink jsClassKeyword Keyword
301303
HiLink jsExtendsKeyword Keyword
302304
HiLink jsThis Special

0 commit comments

Comments
 (0)