Skip to content

Commit 2d11ec0

Browse files
committed
Merge pull request #363 from amadeus/misc-fixes
Misc Fixes
2 parents d87bcd1 + 113abc2 commit 2d11ec0

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

syntax/javascript.vim

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ syntax region jsExportContainer start="^\s\?export \?" end="$" contains=jsM
4646

4747
"" JavaScript comments
4848
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
5050
syntax region jsEnvComment start="\%^#!" end="$" display
5151
syntax region jsLineComment start=+^\s*\/\/+ skip=+\n\s*\/\/+ end=+$+ keepend contains=jsCommentTodo,@Spell fold
5252
syntax region jsCvsTag start="\$\cid:" 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
5454

5555
"" JSDoc / JSDoc Toolkit
5656
if !exists("javascript_ignore_javaScriptdoc")
@@ -196,9 +196,9 @@ syntax cluster jsExpression contains=jsComment,jsLineComment,jsBlockComment,jsTa
196196
syntax cluster jsAll contains=@jsExpression,jsLabel,jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsException
197197
syntax region jsBracket matchgroup=jsBrackets start="\[" end="\]" contains=@jsAll,jsParensErrB,jsParensErrC,jsBracket,jsParen,jsBlock,@htmlPreproc fold
198198
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
200199
syntax region jsClassBlock matchgroup=jsClassBraces start="{" end="}" contains=jsFuncName,jsClassMethodDefinitions contained fold
201200
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
202202
syntax region jsTernaryIf matchgroup=jsTernaryIfOperator start=+?+ end=+:+ contains=@jsExpression,jsTernaryIf
203203

204204
"" catch errors caused by wrong parenthesis
@@ -218,15 +218,16 @@ exe 'syntax match jsArrowFunction /=>/ skipwhite nextgroup=jsFuncBlock contains=
218218

219219
syntax match jsGenerator contained '\*' nextgroup=jsFuncName,jsFuncArgs skipwhite
220220
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
222222
syntax match jsFuncArgCommas contained ','
223223
syntax match jsFuncArgRest contained /\%(\.\.\.[a-zA-Z_$][0-9a-zA-Z_$]*\))/ contains=jsFuncArgRestDots
224224
syntax match jsFuncArgRestDots contained /\.\.\./
225+
syntax match jsFuncArgDestructuring contained /\({\|}\|=\|:\|(\|)\)/ extend
225226

226227
" 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
228229
" 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
230231

231232
syntax keyword jsClassKeywords extends class contained
232233
syntax match jsClassNoise /\./ contained
@@ -323,6 +324,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
323324
HiLink jsModuleWords Include
324325
HiLink jsDecorator Special
325326
HiLink jsFuncArgRestDots Noise
327+
HiLink jsFuncArgDestructuring Noise
326328

327329
HiLink jsDomErrNo Constant
328330
HiLink jsDomNodeConsts Constant

0 commit comments

Comments
 (0)