@@ -83,6 +83,8 @@ syntax region jsObjectValue contained start=/:/ end=/\%(,\|}\)\@=/ contai
8383syntax match jsObjectFuncName contained / \< [a-zA-Z_$][0-9a-zA-Z_$]*\> [\r\n\t ]*(\@ =/ skipwhite skipempty nextgroup =jsFuncArgs
8484syntax match jsFunctionKey contained / \< [a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s *:\s *function\s *\)\@ =/
8585syntax match jsObjectGetSet contained / \% (get\| set\| static\)\% ( \k\+\)\@ =/ skipwhite skipempty nextgroup =jsObjectFuncName
86+ syntax region jsFunctionStringKey contained start =+ "+ skip =+ \\\( "\| $\) + end =+ "\| $+ contains =jsSpecial,@Spell extend skipwhite skipempty nextgroup =jsFuncArgs
87+ syntax region jsFunctionStringKey contained start =+ '+ skip =+ \\\( '\| $\) + end =+ '\| $+ contains =jsSpecial,@Spell extend skipwhite skipempty nextgroup =jsFuncArgs
8688
8789exe ' syntax keyword jsNull null ' .(exists (' g:javascript_conceal_null' ) ? ' conceal cchar=' .g: javascript_conceal_null : ' ' )
8890exe ' syntax keyword jsReturn return contained ' .(exists (' g:javascript_conceal_return' ) ? ' conceal cchar=' .g: javascript_conceal_return : ' ' )
@@ -132,11 +134,11 @@ syntax region jsParenIfElse contained matchgroup=jsParens start=/(/
132134syntax region jsParenRepeat contained matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsBlock extend fold
133135syntax region jsParenSwitch contained matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsSwitchBlock extend fold
134136syntax region jsParenCatch contained matchgroup =jsParens start =/ (/ end =/ )/ skipwhite skipempty nextgroup =jsBlock extend fold
135- syntax region jsClassBlock contained matchgroup =jsClassBraces start =/ {/ end =/ }/ contains =jsClassFuncName,jsClassMethodDefinitions,jsOperator,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsNoise extend fold
137+ syntax region jsClassBlock contained matchgroup =jsClassBraces start =/ {/ end =/ }/ contains =jsClassFuncName,jsClassMethodDefinitions,jsOperator,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsFunctionStringKey, jsNoise extend fold
136138syntax region jsFuncBlock contained matchgroup =jsFuncBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
137139syntax region jsBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
138140syntax region jsSwitchBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll,jsLabel extend fold
139- syntax region jsObject matchgroup =jsObjectBraces start =/ {/ end =/ }/ contains =jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectGetSet,jsGenerator,jsComment,jsSpreadOperator extend fold
141+ syntax region jsObject matchgroup =jsObjectBraces start =/ {/ end =/ }/ contains =jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectGetSet,jsGenerator,jsComment,jsSpreadOperator,jsFunctionStringKey extend fold
140142syntax region jsTernaryIf matchgroup =jsTernaryIfOperator start =/ ?/ end =/ \% (:\| [\} ]\@ =\) / contains =@jsExpression
141143
142144syntax match jsGenerator contained / \* / skipwhite skipempty nextgroup =jsFuncName,jsFuncArgs
@@ -229,6 +231,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
229231 HiLink jsString String
230232 HiLink jsObjectKeyString String
231233 HiLink jsTemplateString String
234+ HiLink jsFunctionStringKey String
232235 HiLink jsTaggedTemplate StorageClass
233236 HiLink jsTernaryIfOperator Operator
234237 HiLink jsRegexpString String
0 commit comments