@@ -42,7 +42,7 @@ syntax keyword jsArgsObj arguments
42
42
43
43
syntax region jsImportContainer start =" ^\s\? import \? " end =" ;\| $" contains =jsModules,jsModuleWords,jsLineComment,jsComment,jsStringS,jsStringD,jsTemplateString,jsNoise,jsBlock
44
44
45
- syntax region jsExportContainer start =" ^\s\? export \? " end =" $" contains =jsModules,jsModuleWords,jsComment,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsClass, jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsAssignmentExpr,jsArgsObj,jsBlock
45
+ syntax region jsExportContainer start =" ^\s\? export \? " end =" $" contains =jsModules,jsModuleWords,jsComment,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsAssignmentExpr,jsArgsObj,jsBlock,jsClassDefinition
46
46
47
47
" " JavaScript comments
48
48
syntax keyword jsCommentTodo TODO FIXME XXX TBD contained
@@ -131,7 +131,6 @@ syntax keyword jsConditional if else switch
131
131
syntax keyword jsRepeat do while for
132
132
syntax keyword jsLabel case default
133
133
syntax keyword jsKeyword yield
134
- syntax keyword jsClass extends class
135
134
syntax keyword jsException try catch throw finally
136
135
syntax keyword jsAsyncKeyword async await
137
136
@@ -193,12 +192,13 @@ endif "DOM/HTML/CSS
193
192
" " end DOM/HTML/CSS specified things
194
193
195
194
" " Code blocks
196
- syntax cluster jsExpression contains =jsComment,jsLineComment,jsBlockComment,jsTaggedTemplate,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsStatic,jsSuper,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsCommonJS,jsAssignmentExpr,jsImportContainer,jsExportContainer,jsClass, jsArgsObj,jsDecorator,jsAsyncKeyword
195
+ syntax cluster jsExpression contains =jsComment,jsLineComment,jsBlockComment,jsTaggedTemplate,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsStatic,jsSuper,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsCommonJS,jsAssignmentExpr,jsImportContainer,jsExportContainer,jsArgsObj,jsDecorator,jsAsyncKeyword,jsClassDefinition
197
196
syntax cluster jsAll contains =@jsExpression,jsLabel,jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsException
198
197
syntax region jsBracket matchgroup =jsBrackets start =" \[ " end =" \] " contains =@jsAll,jsParensErrB,jsParensErrC,jsBracket,jsParen,jsBlock,@htmlPreproc fold
199
198
syntax region jsParen matchgroup =jsParens start =" (" end =" )" contains =@jsAll,jsOf,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc fold
200
- syntax region jsBlock matchgroup =jsBraces start =" {" end =" }" contains =@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,jsObjectKey,@htmlPreproc fold
201
- syntax region jsFuncBlock matchgroup =jsFuncBraces start =" {" end =" }" contains =@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,@htmlPreproc contained fold
199
+ syntax region jsBlock matchgroup =jsBraces start =" {" end =" }" contains =@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,jsObjectKey,@htmlPreproc,jsClassDefinition fold
200
+ syntax region jsClassBlock matchgroup =jsClassBraces start =" {" end =" }" contains =jsFuncName,jsClassMethodDefinitions contained fold
201
+ syntax region jsFuncBlock matchgroup =jsFuncBraces start =" {" end =" }" contains =@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,@htmlPreproc,jsClassDefinition contained fold
202
202
syntax region jsTernaryIf matchgroup =jsTernaryIfOperator start =+ ?+ end =+ :+ contains =@jsExpression,jsTernaryIf
203
203
204
204
" " catch errors caused by wrong parenthesis
@@ -223,6 +223,11 @@ syntax match jsFuncArgRest contained /\%(\.\.\.[a-zA-Z_$][0-9a-zA-Z_$]*\))/
223
223
224
224
exe ' syntax match jsArrowFunction /=>/ ' .(exists (' g:javascript_conceal_arrow_function' ) ? ' conceal cchar=' .g: javascript_conceal_arrow_function : ' ' )
225
225
226
+ syntax keyword jsClassKeywords extends class contained
227
+ syntax match jsClassNoise / \. / contained
228
+ syntax keyword jsClassMethodDefinitions get set static contained nextgroup =jsFuncName skipwhite skipempty
229
+ syntax match jsClassDefinition / class [a-zA-Z_$][0-9a-zA-Z_$ \n .]*/ contains =jsClassKeywords,jsClassNoise nextgroup =jsClassBlock skipwhite skipempty
230
+
226
231
" Define the default highlighting.
227
232
" For version 5.7 and earlier: only when not done already
228
233
" For version 5.8 and later: only when an item doesn't have highlighting yet
@@ -282,7 +287,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
282
287
HiLink jsOperator Operator
283
288
HiLink jsOf Operator
284
289
HiLink jsStorageClass StorageClass
285
- HiLink jsClass Structure
290
+ HiLink jsClassKeywords Structure
286
291
HiLink jsThis Special
287
292
HiLink jsStatic Special
288
293
HiLink jsSuper Special
@@ -299,6 +304,8 @@ if version >= 508 || !exists("did_javascript_syn_inits")
299
304
HiLink jsBraces Noise
300
305
HiLink jsFuncBraces Noise
301
306
HiLink jsFuncParens Noise
307
+ HiLink jsClassBraces Noise
308
+ HiLink jsClassNoise Noise
302
309
HiLink jsSpecial Special
303
310
HiLink jsTemplateVar Special
304
311
HiLink jsGlobalObjects Special
@@ -320,6 +327,8 @@ if version >= 508 || !exists("did_javascript_syn_inits")
320
327
321
328
HiLink jsCssStyles Label
322
329
330
+ HiLink jsClassMethodDefinitions Type
331
+
323
332
delcommand HiLink
324
333
endif
325
334
0 commit comments