@@ -46,11 +46,11 @@ syntax region jsExportContainer start="^\s\?export \?" end="$" contains=jsM
46
46
47
47
" " JavaScript comments
48
48
syntax keyword jsCommentTodo TODO FIXME XXX TBD contained
49
- syntax region jsLineComment start =+ \/\/ + end =+ $+ keepend contains =jsCommentTodo,@Spell
49
+ syntax region jsLineComment start =+ \/\/ + end =+ $+ keepend contains =jsCommentTodo,@Spell extend
50
50
syntax region jsEnvComment start =" \% ^#!" end =" $" display
51
51
syntax region jsLineComment start =+ ^\s *\/\/ + skip =+ \n\s *\/\/ + end =+ $+ keepend contains =jsCommentTodo,@Spell fold
52
52
syntax region jsCvsTag start =" \$\c id:" end =" \$ " oneline contained
53
- syntax region jsComment start =" /\* " end =" \* /" contains =jsCommentTodo,jsCvsTag,@Spell fold
53
+ syntax region jsComment start =" /\* " end =" \* /" contains =jsCommentTodo,jsCvsTag,@Spell fold extend
54
54
55
55
" " JSDoc / JSDoc Toolkit
56
56
if ! exists (" javascript_ignore_javaScriptdoc" )
@@ -196,9 +196,9 @@ syntax cluster jsExpression contains=jsComment,jsLineComment,jsBlockComment,jsTa
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
199
- syntax region jsBlock matchgroup =jsBraces start =" {" end =" }" contains =@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,jsObjectKey,@htmlPreproc,jsClassDefinition fold
200
199
syntax region jsClassBlock matchgroup =jsClassBraces start =" {" end =" }" contains =jsFuncName,jsClassMethodDefinitions contained fold
201
200
syntax region jsFuncBlock matchgroup =jsFuncBraces start =" {" end =" }" contains =@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,@htmlPreproc,jsClassDefinition fold
201
+ syntax region jsBlock matchgroup =jsBraces start =" {" end =" }" contains =@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,jsObjectKey,@htmlPreproc,jsClassDefinition fold
202
202
syntax region jsTernaryIf matchgroup =jsTernaryIfOperator start =+ ?+ end =+ :+ contains =@jsExpression,jsTernaryIf
203
203
204
204
" " catch errors caused by wrong parenthesis
@@ -218,15 +218,16 @@ exe 'syntax match jsArrowFunction /=>/ skipwhite nextgroup=jsFuncBlock contains=
218
218
219
219
syntax match jsGenerator contained ' \* ' nextgroup =jsFuncName,jsFuncArgs skipwhite
220
220
syntax match jsFuncName contained / \< [a-zA-Z_$][0-9a-zA-Z_$]*/ nextgroup =jsFuncArgs skipwhite
221
- syntax region jsFuncArgs contained matchgroup =jsFuncParens start =' (' end =' )' contains =jsFuncArgCommas,jsFuncArgRest,jsAssignmentExpr, jsComment,jsLineComment nextgroup =jsFuncBlock keepend skipwhite skipempty
221
+ syntax region jsFuncArgs contained matchgroup =jsFuncParens start =' (' end =' )' contains =jsFuncArgCommas,jsFuncArgRest,jsComment,jsLineComment,jsStringS,jsStringD,jsNumber,jsFuncArgDestructuring nextgroup =jsFuncBlock keepend skipwhite skipempty
222
222
syntax match jsFuncArgCommas contained ' ,'
223
223
syntax match jsFuncArgRest contained / \% (\.\.\. [a-zA-Z_$][0-9a-zA-Z_$]*\) )/ contains =jsFuncArgRestDots
224
224
syntax match jsFuncArgRestDots contained / \.\.\. /
225
+ syntax match jsFuncArgDestructuring contained / \( {\| }\| =\| :\| (\| )\) / extend
225
226
226
227
" Matches a single keyword argument with no parens
227
- syntax match jsArrowFuncArgs / \(\k\)\+\s\+\ ( =>\)\@ =/ skipwhite contains =jsFuncArgs extend
228
+ syntax match jsArrowFuncArgs / \(\k\)\+\s * \ ( =>\)\@ =/ skipwhite contains =jsFuncArgs nextgroup = jsArrowFunction
228
229
" Matches a series of arguments surrounded in parens
229
- syntax match jsArrowFuncArgs / (\(\k\| , \|\s\|\n\|\ .\) *)\s\+\ ( =>\)\@ =/ skipwhite contains =jsFuncArgs extend
230
+ syntax match jsArrowFuncArgs / (\% ( .\) *)\s * \ ( =>\)\@ =/ skipempty skipwhite contains =jsFuncArgs nextgroup = jsArrowFunction
230
231
231
232
syntax keyword jsClassKeywords extends class contained
232
233
syntax match jsClassNoise / \. / contained
@@ -323,6 +324,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
323
324
HiLink jsModuleWords Include
324
325
HiLink jsDecorator Special
325
326
HiLink jsFuncArgRestDots Noise
327
+ HiLink jsFuncArgDestructuring Noise
326
328
327
329
HiLink jsDomErrNo Constant
328
330
HiLink jsDomNodeConsts Constant
0 commit comments