@@ -192,7 +192,7 @@ endif "DOM/HTML/CSS
192
192
" " end DOM/HTML/CSS specified things
193
193
194
194
" " Code blocks
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
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,jsArrowFunction,jsArrowFuncArgs
196
196
syntax cluster jsAll contains =@jsExpression,jsLabel,jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsException
197
197
syntax region jsBracket matchgroup =jsBrackets start =" \[ " end =" \] " contains =@jsAll,jsParensErrB,jsParensErrC,jsBracket,jsParen,jsBlock,@htmlPreproc fold
198
198
syntax region jsParen matchgroup =jsParens start =" (" end =" )" contains =@jsAll,jsOf,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc fold
@@ -214,14 +214,19 @@ if main_syntax == "javascript"
214
214
endif
215
215
216
216
exe ' syntax match jsFunction /\<function\>/ nextgroup=jsGenerator,jsFuncName,jsFuncArgs skipwhite ' .(exists (' g:javascript_conceal_function' ) ? ' conceal cchar=' .g: javascript_conceal_function : ' ' )
217
- exe ' syntax match jsArrowFunction /=>/ skipwhite skipempty nextgroup=jsFuncBlock contains=jsFuncBraces ' .(exists (' g:javascript_conceal_arrow_function' ) ? ' conceal cchar=' .g: javascript_conceal_arrow_function : ' ' )
217
+ exe ' syntax match jsArrowFunction /=>/ skipwhite nextgroup=jsFuncBlock contains=jsFuncBraces ' .(exists (' g:javascript_conceal_arrow_function' ) ? ' conceal cchar=' .g: javascript_conceal_arrow_function : ' ' )
218
218
219
219
syntax match jsGenerator contained ' \* ' nextgroup =jsFuncName skipwhite
220
220
syntax match jsFuncName contained / \< [a-zA-Z_$][0-9a-zA-Z_$]*/ nextgroup =jsFuncArgs skipwhite
221
221
syntax region jsFuncArgs contained matchgroup =jsFuncParens start =' (' end =' )' contains =jsFuncArgCommas,jsFuncArgRest,jsAssignmentExpr,jsComment,jsLineComment nextgroup =jsFuncBlock keepend skipwhite skipempty
222
222
syntax match jsFuncArgCommas contained ' ,'
223
223
syntax match jsFuncArgRest contained / \% (\.\.\. [a-zA-Z_$][0-9a-zA-Z_$]*\) )/
224
224
225
+ " Matches a single keyword argument with no parens
226
+ syntax match jsArrowFuncArgs / \(\k\)\+\s\+\( =>\)\@ =/ skipwhite contains =jsFuncArgs extend
227
+ " Matches a series of arguments surrounding in parens
228
+ syntax match jsArrowFuncArgs / (\(\k\| ,\|\s\|\n\) *)\s\+\( =>\)\@ =/ skipwhite contains =jsFuncArgs extend
229
+
225
230
syntax keyword jsClassKeywords extends class contained
226
231
syntax match jsClassNoise / \. / contained
227
232
syntax keyword jsClassMethodDefinitions get set static contained nextgroup =jsFuncName skipwhite skipempty
0 commit comments