Skip to content

Commit 7b352ce

Browse files
committed
Add support for spread operator
1 parent bf0e736 commit 7b352ce

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

syntax/javascript.vim

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ syntax region jsObjectValue contained start=/:/ end=/\%(,\|}\)\@=/ contai
8282
syntax match jsObjectFuncName contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>[\r\n\t ]*(\@=/ skipwhite skipempty nextgroup=jsFuncArgs
8383
syntax match jsFunctionKey contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s*:\s*function\s*\)\@=/
8484
syntax match jsObjectGetSet contained /\%(get\|set\|static\)\%( \k\+\)\@=/ skipwhite skipempty nextgroup=jsObjectFuncName
85+
syntax match jsObjectSpread contained /\.\.\./
8586

8687
exe 'syntax keyword jsNull null '.(exists('g:javascript_conceal_null') ? 'conceal cchar='.g:javascript_conceal_null : '')
8788
exe 'syntax keyword jsReturn return contained '.(exists('g:javascript_conceal_return') ? 'conceal cchar='.g:javascript_conceal_return : '')
@@ -135,7 +136,7 @@ syntax region jsClassBlock contained matchgroup=jsClassBraces start=/{/
135136
syntax region jsFuncBlock contained matchgroup=jsFuncBraces start=/{/ end=/}/ contains=@jsAll fold extend
136137
syntax region jsBlock contained matchgroup=jsBraces start=/{/ end=/}/ contains=@jsAll extend fold
137138
syntax region jsSwitchBlock contained matchgroup=jsBraces start=/{/ end=/}/ contains=@jsAll,jsLabel extend fold
138-
syntax region jsObject matchgroup=jsObjectBraces start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectGetSet,jsGenerator,jsComment extend
139+
syntax region jsObject matchgroup=jsObjectBraces start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectGetSet,jsGenerator,jsComment,jsObjectSpread extend
139140
syntax region jsTernaryIf matchgroup=jsTernaryIfOperator start=/?/ end=/:/ contains=@jsExpression
140141

141142
syntax match jsGenerator contained /\*/ skipwhite skipempty nextgroup=jsFuncName,jsFuncArgs
@@ -297,6 +298,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
297298
HiLink jsFuncArgDestructuring Noise
298299
HiLink jsModuleAsterisk Noise
299300
HiLink jsClassProperty Identifier
301+
HiLink jsObjectSpread Operator
300302

301303
HiLink jsDomErrNo Constant
302304
HiLink jsDomNodeConsts Constant

0 commit comments

Comments
 (0)