Skip to content

Commit e04214c

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

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

syntax/javascript.vim

+4-2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ syntax match jsParensError /\%()\|}\|\]\)/
3232
syntax keyword jsStorageClass const var let
3333
syntax keyword jsOperator delete instanceof typeof void new in of
3434
syntax match jsOperator /[\!\|\&\+\-\<\>\=\%\/\*\~\^]\{1}/
35+
syntax match jsSpreadOperator /\.\.\./
3536
syntax keyword jsBooleanTrue true
3637
syntax keyword jsBooleanFalse false
3738

@@ -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,jsSpreadOperator extend
139140
syntax region jsTernaryIf matchgroup=jsTernaryIfOperator start=/?/ end=/:/ contains=@jsExpression
140141

141142
syntax match jsGenerator contained /\*/ skipwhite skipempty nextgroup=jsFuncName,jsFuncArgs
@@ -200,7 +201,7 @@ if !exists("javascript_ignore_javaScriptdoc")
200201
syntax region jsDocSeeTag contained matchgroup=jsDocSeeTag start="{" end="}" contains=jsDocTags
201202
endif "" JSDoc end
202203

203-
syntax cluster jsExpression contains=jsArray,jsParen,jsObject,jsBlock,jsTernaryIf,jsTaggedTemplate,jsTemplateString,jsString,jsRegexpString,jsNumber,jsFloat,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsFuncCall,jsUndefined,jsNan,jsPrototype,jsBuiltins,jsNoise,jsClassDefinition,jsArrowFunction,jsArrowFuncArgs,jsParensError,jsComment,jsArguments,jsThis,jsSuper
204+
syntax cluster jsExpression contains=jsArray,jsParen,jsObject,jsBlock,jsTernaryIf,jsTaggedTemplate,jsTemplateString,jsString,jsRegexpString,jsNumber,jsFloat,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsFuncCall,jsUndefined,jsNan,jsPrototype,jsBuiltins,jsNoise,jsClassDefinition,jsArrowFunction,jsArrowFuncArgs,jsParensError,jsComment,jsArguments,jsThis,jsSuper,jsSpreadOperator
204205
syntax cluster jsAll contains=@jsExpression,jsExportContainer,jsImportContainer,jsStorageClass,jsConditional,jsRepeat,jsReturn,jsStatement,jsException,jsAsyncKeyword
205206

206207
" Define the default highlighting.
@@ -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 jsSpreadOperator Operator
300302

301303
HiLink jsDomErrNo Constant
302304
HiLink jsDomNodeConsts Constant

0 commit comments

Comments
 (0)