@@ -30,7 +30,9 @@ syntax match jsOperator /[\!\|\&\+\-\<\>\=\%\/\*\~\^]\{1}/
30
30
syntax keyword jsBooleanTrue true
31
31
syntax keyword jsBooleanFalse false
32
32
syntax keyword jsModules import export contained
33
- syntax keyword jsModuleWords default from as contained
33
+ syntax keyword jsModules export contained nextgroup =jsObjectBlock skipwhite skipempty
34
+ syntax keyword jsModuleWords from as contained
35
+ syntax keyword jsModuleWords default contained nextgroup =jsObjectBlock skipwhite skipempty
34
36
syntax keyword jsOf of contained
35
37
syntax keyword jsArgsObj arguments
36
38
@@ -185,13 +187,14 @@ endif "DOM/HTML/CSS
185
187
" " end DOM/HTML/CSS specified things
186
188
187
189
" " Code blocks
188
- 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,jsImportContainer,jsExportContainer,jsArgsObj,jsDecorator,jsAsyncKeyword,jsClassDefinition,jsArrowFunction,jsArrowFuncArgs
190
+ 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,jsObjectBlock, jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsCommonJS,jsImportContainer,jsExportContainer,jsArgsObj,jsDecorator,jsAsyncKeyword,jsClassDefinition,jsArrowFunction,jsArrowFuncArgs
189
191
syntax cluster jsAll contains =@jsExpression,jsLabel,jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsException
190
192
syntax region jsBracket matchgroup =jsBrackets start =" \[ " end =" \] " contains =@jsAll,jsParensErrB,jsParensErrC,jsBracket,jsParen,jsBlock,@htmlPreproc fold
191
193
syntax region jsParen matchgroup =jsParens start =" (" end =" )" contains =@jsAll,jsOf,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc fold extend
192
194
syntax region jsClassBlock matchgroup =jsClassBraces start =" {" end =" }" contains =jsFuncName,jsClassMethodDefinitions,jsOperator,jsArrowFunction,jsArrowFuncArgs,jsComment,jsBlockComment,jsLineComment,jsGenerator contained fold
193
195
syntax region jsFuncBlock matchgroup =jsFuncBraces start =" {" end =" }" contains =@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,@htmlPreproc,jsClassDefinition fold extend
194
- syntax region jsBlock matchgroup =jsBraces start =" {" end =" }" contains =@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,jsObjectKey,@htmlPreproc,jsClassDefinition extend
196
+ syntax region jsBlock matchgroup =jsBraces start =" {" end =" }" contains =@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,jsObjectKey,@htmlPreproc,jsClassDefinition,jsObjectBlock extend
197
+ syntax region jsObjectBlock matchgroup =jsObjectBraces start =" \% ()[\r\n\t ]*\)\@ <!{" end =" }" contains =@jsAll,jsObjectKey,jsParensErrB,jsParen,jsNoise extend
195
198
syntax region jsTernaryIf matchgroup =jsTernaryIfOperator start =+ ?+ end =+ :+ contains =@jsExpression,jsTernaryIf
196
199
197
200
" " catch errors caused by wrong parenthesis
@@ -207,8 +210,8 @@ exe 'syntax match jsArrowFunction /=>/ skipwhite nextgroup=jsFuncBlock contains=
207
210
syntax match jsGenerator contained / \* / nextgroup =jsFuncName,jsFuncArgs skipwhite skipempty
208
211
syntax match jsFuncName contained / \< [a-zA-Z_$][0-9a-zA-Z_$]*/ nextgroup =jsFuncArgs skipwhite skipempty
209
212
" These versions of jsFuncName is for use in object declarations with no key
210
- " syntax match jsFuncName contained /\%(^[\r\n\t ]*\)\@<=[*\r\n\t ]*[a-zA-Z_$][0-9a-zA-Z_$]*[\r\n\t ]*(\@=/ nextgroup=jsFuncArgs skipwhite skipempty containedin=jsBlock contains=jsGenerator
211
- " syntax match jsFuncName contained /\%(,[\r\n\t ]*\)\@<=[*\r\n\t ]*[a-zA-Z_$][0-9a-zA-Z_$]*[\r\n\t ]*(\@=/ nextgroup=jsFuncArgs skipwhite skipempty containedin=jsBlock contains=jsGenerator
213
+ syntax match jsFuncName contained / \% (^[\r\n\t ]*\)\@ <=[*\r\n\t ]*[a-zA-Z_$][0-9a-zA-Z_$]*[\r\n\t ]*(\@ =/ nextgroup =jsFuncArgs skipwhite skipempty containedin =jsObjectBlock contains =jsGenerator
214
+ syntax match jsFuncName contained / \% (,[\r\n\t ]*\)\@ <=[*\r\n\t ]*[a-zA-Z_$][0-9a-zA-Z_$]*[\r\n\t ]*(\@ =/ nextgroup =jsFuncArgs skipwhite skipempty containedin =jsObjectBlock contains =jsGenerator
212
215
syntax region jsFuncArgs contained matchgroup =jsFuncParens start =' (' end =' )' contains =jsFuncArgCommas,jsFuncArgRest,jsComment,jsLineComment,jsStringS,jsStringD,jsNumber,jsFuncArgDestructuring,jsArrowFunction,jsParen,jsArrowFuncArgs nextgroup =jsFuncBlock keepend skipwhite skipempty
213
216
syntax match jsFuncArgCommas contained ' ,'
214
217
syntax match jsFuncArgRest contained / \% (\.\.\. [a-zA-Z_$][0-9a-zA-Z_$]*\) )/ contains =jsFuncArgRestDots
@@ -305,6 +308,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
305
308
HiLink jsFuncParens Noise
306
309
HiLink jsClassBraces Noise
307
310
HiLink jsClassNoise Noise
311
+ HiLink jsObjectBraces Noise
308
312
HiLink jsSpecial Special
309
313
HiLink jsTemplateVar Special
310
314
HiLink jsTemplateBraces jsBraces
0 commit comments