@@ -40,12 +40,12 @@ syntax keyword jsModuleKeywords contained import
40
40
syntax keyword jsModuleKeywords contained export skipwhite skipempty nextgroup =jsExportBlock,jsModuleDefault
41
41
syntax keyword jsModuleOperators contained from
42
42
syntax keyword jsModuleOperators contained as
43
- syntax region jsModuleGroup contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =jsModuleOperators,jsNoise
43
+ syntax region jsModuleGroup contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =jsModuleOperators,jsNoise,jsComment
44
44
syntax match jsModuleAsterisk contained / */
45
45
syntax keyword jsModuleDefault contained default skipwhite kipempty nextgroup =@jsExpression
46
46
syntax region jsImportContainer start =/ \< import\> / end =" \% (;\| $\) " contains =jsModuleKeywords,jsModuleOperators,jsComment,jsString,jsTemplateString,jsNoise,jsModuleGroup,jsModuleAsterisk
47
47
syntax region jsExportContainer start =/ \< export\> / end =" \% (;\| $\) " contains =jsModuleKeywords,jsModuleOperators,jsStorageClass,jsModuleDefault,@jsExpression
48
- syntax region jsExportBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =jsModuleOperators,jsNoise
48
+ syntax region jsExportBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =jsModuleOperators,jsNoise,jsComment
49
49
50
50
" Strings, Templates, Numbers
51
51
syntax region jsString start =+ "+ skip =+ \\\( "\| $\) + end =+ "\| $+ contains =jsSpecial,@Spell extend
@@ -81,7 +81,7 @@ syntax match jsObjectSeparator contained /,/
81
81
syntax region jsObjectValue contained start =/ :/ end =/ \% (,\| }\)\@ =/ contains =@jsExpression extend
82
82
syntax match jsObjectFuncName contained / \< [a-zA-Z_$][0-9a-zA-Z_$]*\> [\r\n\t ]*(\@ =/ skipwhite skipempty nextgroup =jsFuncArgs
83
83
syntax match jsFunctionKey contained / \< [a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s *:\s *function\s *\)\@ =/
84
- syntax match jsObjectGetSet contained / \% (get\| set\| static\)\% ( \k\+\)\@ =/ skipwhite skipempty nextgroup =jsObjectFuncName
84
+ syntax match jsObjectMethodType contained / \% (get\| set\| static\| async \)\% ( \k\+\)\@ =/ skipwhite skipempty nextgroup =jsObjectFuncName
85
85
syntax region jsObjectStringKey contained start =+ "+ skip =+ \\\( "\| $\) + end =+ "\| $+ contains =jsSpecial,@Spell extend skipwhite skipempty nextgroup =jsFuncArgs,jsObjectValue
86
86
syntax region jsObjectStringKey contained start =+ '+ skip =+ \\\( '\| $\) + end =+ '\| $+ contains =jsSpecial,@Spell extend skipwhite skipempty nextgroup =jsFuncArgs,jsObjectValue
87
87
@@ -105,6 +105,7 @@ syntax keyword jsFinally contained finally skipwhite skipempty nextgro
105
105
syntax keyword jsCatch contained catch skipwhite skipempty nextgroup =jsParenCatch
106
106
syntax keyword jsException throw
107
107
syntax keyword jsAsyncKeyword async await
108
+ syntax match jsSwitchColon contained / :/ skipwhite skipempty nextgroup =jsBlock
108
109
109
110
" Keywords
110
111
syntax keyword jsGlobalObjects Array Boolean Date Function Iterator Number Object Symbol Map WeakMap Set RegExp String Proxy Promise Buffer ParallelArray ArrayBuffer DataView Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray JSON Math console document window Intl Collator DateTimeFormat NumberFormat
@@ -135,14 +136,14 @@ syntax region jsParenRepeat contained matchgroup=jsParens s
135
136
syntax region jsParenSwitch contained matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsSwitchBlock extend fold
136
137
syntax region jsParenCatch contained matchgroup =jsParens start =/ (/ end =/ )/ skipwhite skipempty nextgroup =jsTryCatchBlock extend fold
137
138
syntax region jsFuncArgs contained matchgroup =jsFuncParens start =/ (/ end =/ )/ contains =jsFuncArgCommas,jsComment,jsFuncArgExpression,jsDestructuringBlock,jsRestExpression,jsFlow skipwhite skipempty nextgroup =jsFuncBlock,jsFlowReturn extend fold
138
- syntax region jsClassBlock contained matchgroup =jsClassBraces start =/ {/ end =/ }/ contains =jsClassFuncName,jsClassMethodDefinitions ,jsOperator,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsNoise,jsFlowClassProperty extend fold
139
+ syntax region jsClassBlock contained matchgroup =jsClassBraces start =/ {/ end =/ }/ contains =jsClassFuncName,jsClassMethodType ,jsOperator,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsNoise,jsFlowClassProperty extend fold
139
140
syntax region jsFuncBlock contained matchgroup =jsFuncBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
140
141
syntax region jsBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
141
142
syntax region jsTryCatchBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll skipwhite skipempty nextgroup =jsCatch,jsFinally extend fold
142
- syntax region jsSwitchBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll,jsLabel extend fold
143
+ syntax region jsSwitchBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll,jsLabel,jsSwitchColon extend fold
143
144
syntax region jsDestructuringBlock contained matchgroup =jsDestructuringBraces start =/ {/ end =/ }/ contains =jsDestructuringProperty,jsDestructuringAssignment,jsDestructuringNoise,jsDestructuringPropertyComputed,jsSpreadExpression extend fold
144
145
syntax region jsDestructuringArray contained matchgroup =jsDestructuringBraces start =/ \[ / end =/ \] / contains =jsDestructuringPropertyValue,jsNoise,jsDestructuringProperty,jsSpreadExpression extend fold
145
- syntax region jsObject matchgroup =jsObjectBraces start =/ {/ end =/ }/ contains =jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectGetSet ,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression extend fold
146
+ syntax region jsObject matchgroup =jsObjectBraces start =/ {/ end =/ }/ contains =jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType ,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression extend fold
146
147
syntax region jsTernaryIf matchgroup =jsTernaryIfOperator start =/ ?/ end =/ \% (:\| [\} ]\@ =\) / contains =@jsExpression
147
148
syntax region jsSpreadExpression contained matchgroup =jsSpreadOperator start =/ \.\.\. / end =/ [,}\] ]\@ =/ contains =@jsExpression
148
149
syntax region jsRestExpression contained matchgroup =jsRestOperator start =/ \.\.\. / end =/ [,)]\@ =/
@@ -164,7 +165,7 @@ exe 'syntax match jsArrowFunction /=>/ skipwhite skipempty nextgroup=jsFunc
164
165
165
166
syntax keyword jsClassKeywords contained extends class
166
167
syntax match jsClassNoise contained / \. /
167
- syntax match jsClassMethodDefinitions contained / \% (get\| set\| static\)\% ( \k\+\)\@ =/ skipwhite skipempty nextgroup =jsFuncName,jsClassProperty
168
+ syntax match jsClassMethodType contained / \% (get\| set\| static\| async \)\% ( \k\+\)\@ =/ skipwhite skipempty nextgroup =jsFuncName,jsClassProperty
168
169
syntax match jsClassDefinition / \< class\>\% ( [a-zA-Z_$][0-9a-zA-Z_$ \n .]*\) */ contains =jsClassKeywords,jsClassNoise skipwhite skipempty nextgroup =jsClassBlock,jsFlowClass
169
170
syntax match jsDecorator contained " @" nextgroup =jsDecoratorFunction
170
171
syntax match jsDecoratorFunction contained " [a-zA-Z_][a-zA-Z0-9_.]*"
@@ -296,6 +297,9 @@ if version >= 508 || !exists("did_javascript_syn_inits")
296
297
HiLink jsSpreadOperator Operator
297
298
HiLink jsRestOperator Operator
298
299
HiLink jsRestExpression jsFuncArgs
300
+ HiLink jsSwitchColon Noise
301
+ HiLink jsClassMethodType Type
302
+ HiLink jsObjectMethodType Type
299
303
300
304
HiLink jsDestructuringBraces Noise
301
305
HiLink jsDestructuringProperty jsFuncArgs
@@ -313,9 +317,6 @@ if version >= 508 || !exists("did_javascript_syn_inits")
313
317
314
318
HiLink jsCssStyles Label
315
319
316
- HiLink jsClassMethodDefinitions Type
317
- HiLink jsObjectGetSet Type
318
-
319
320
delcommand HiLink
320
321
endif
321
322
0 commit comments