73
73
endif
74
74
syntax cluster jsRegexpSpecial contains =jsSpecial,jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
75
75
76
- syntax match jsObjectKey contained / \< [0-9a-zA-Z_$]*\>\(\s *:\)\@ =/ contains =jsFunctionKey skipwhite skipempty nextgroup =jsObjectValue
76
+ syntax match jsObjectKey contained / \< [0-9a-zA-Z_$]*\>\(\s *:\)\@ =/ contains =jsFunctionKey skipwhite skipempty nextgroup =jsObjectValue,jsFlowParenRegion
77
77
syntax region jsObjectKeyString contained start =+ "+ skip =+ \\\( "\| $\) + end =+ "\| $+ contains =jsSpecial,@Spell skipwhite skipempty nextgroup =jsObjectValue
78
78
syntax region jsObjectKeyString contained start =+ '+ skip =+ \\\( '\| $\) + end =+ '\| $+ contains =jsSpecial,@Spell skipwhite skipempty nextgroup =jsObjectValue
79
79
syntax region jsObjectKeyComputed contained matchgroup =jsBrackets start =/ \[ / end =/ ]/ contains =@jsExpression skipwhite skipempty nextgroup =jsObjectValue,jsFuncArgs extend
@@ -134,8 +134,8 @@ syntax region jsParenIfElse contained matchgroup=jsParens s
134
134
syntax region jsParenRepeat contained matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsBlock extend fold
135
135
syntax region jsParenSwitch contained matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsSwitchBlock extend fold
136
136
syntax region jsParenCatch contained matchgroup =jsParens start =/ (/ end =/ )/ skipwhite skipempty nextgroup =jsTryCatchBlock extend fold
137
- syntax region jsFuncArgs contained matchgroup =jsFuncParens start =/ (/ end =/ )/ contains =jsFuncArgCommas,jsComment,jsFuncArgExpression,jsDestructuringBlock,jsRestExpression skipwhite skipempty nextgroup =jsFuncBlock extend fold
138
- syntax region jsClassBlock contained matchgroup =jsClassBraces start =/ {/ end =/ }/ contains =jsClassFuncName,jsClassMethodDefinitions,jsOperator,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsNoise extend fold
137
+ syntax region jsFuncArgs contained matchgroup =jsFuncParens start =/ (/ end =/ )/ contains =jsFuncArgCommas,jsComment,jsFuncArgExpression,jsDestructuringBlock,jsRestExpression,jsFlow skipwhite skipempty nextgroup =jsFuncBlock,jsFlowReturn extend fold
138
+ syntax region jsClassBlock contained matchgroup =jsClassBraces start =/ {/ end =/ }/ contains =jsClassFuncName,jsClassMethodDefinitions,jsOperator,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsNoise,jsFlowClassProperty extend fold
139
139
syntax region jsFuncBlock contained matchgroup =jsFuncBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
140
140
syntax region jsBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
141
141
syntax region jsTryCatchBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll skipwhite skipempty nextgroup =jsCatch,jsFinally extend fold
@@ -146,6 +146,7 @@ syntax region jsObject matchgroup=jsObjectBraces s
146
146
syntax region jsTernaryIf matchgroup =jsTernaryIfOperator start =/ ?/ end =/ \% (:\| [\} ]\@ =\) / contains =@jsExpression
147
147
syntax region jsSpreadExpression contained matchgroup =jsSpreadOperator start =/ \.\.\. / end =/ [,}\] ]\@ =/ contains =@jsExpression
148
148
syntax region jsRestExpression contained matchgroup =jsRestOperator start =/ \.\.\. / end =/ [,)]\@ =/
149
+ syntax region jsTernaryIf matchgroup =jsTernaryIfOperator start =/ ?/ end =/ \% (:\| [\} ]\@ =\) / contains =@jsExpression
149
150
150
151
syntax match jsGenerator contained / \* / skipwhite skipempty nextgroup =jsFuncName,jsFuncArgs
151
152
syntax match jsFuncName contained / \< [a-zA-Z_$][0-9a-zA-Z_$]*\> / skipwhite skipempty nextgroup =jsFuncArgs
@@ -191,31 +192,17 @@ syntax region jsComment start="/\*" end="\*/" contains=jsCommentTodo,js
191
192
syntax region jsEnvComment start =" \% ^#!" end =" $" display
192
193
syntax region jsCvsTag contained start =" \$\c id:" end =" \$ " oneline
193
194
194
- " " JSDoc / JSDoc Toolkit
195
- if ! exists (" javascript_ignore_javaScriptdoc" )
196
- " " syntax coloring for javadoc comments (HTML)
197
- syntax region jsComment matchgroup =jsComment start =" /\*\s *" end =" \* /" contains =jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold
198
-
199
- " tags containing a param
200
- syntax match jsDocTags contained " @\( alias\| api\| augments\| borrows\| class\| constructs\| default\| defaultvalue\| emits\| exception\| exports\| extends\| fires\| kind\| link\| listens\| member\| member[oO]f\| mixes\| module\| name\| namespace\| requires\| template\| throws\| var\| variation\| version\)\> " skipwhite nextgroup =jsDocParam
201
- " tags containing type and param
202
- syntax match jsDocTags contained " @\( arg\| argument\| cfg\| param\| property\| prop\)\> " skipwhite nextgroup =jsDocType
203
- " tags containing type but no param
204
- syntax match jsDocTags contained " @\( callback\| define\| enum\| external\| implements\| this\| type\| typedef\| return\| returns\)\> " skipwhite nextgroup =jsDocTypeNoParam
205
- " tags containing references
206
- syntax match jsDocTags contained " @\( lends\| see\| tutorial\)\> " skipwhite nextgroup =jsDocSeeTag
207
- " other tags (no extra syntax)
208
- syntax match jsDocTags contained " @\( abstract\| access\| accessor\| author\| classdesc\| constant\| const\| constructor\| copyright\| deprecated\| desc\| description\| dict\| event\| example\| file\| file[oO]verview\| final\| function\| global\| ignore\| inheritDoc\| inner\| instance\| interface\| license\| localdoc\| method\| mixin\| nosideeffects\| override\| overview\| preserve\| private\| protected\| public\| readonly\| since\| static\| struct\| todo\| summary\| undocumented\| virtual\)\> "
209
-
210
- syntax region jsDocType contained matchgroup =jsDocTypeBrackets start =" {" end =" }" contains =jsDocTypeRecord oneline skipwhite nextgroup =jsDocParam
211
- syntax match jsDocType contained " \% (#\|\"\|\w\|\.\| :\|\/\)\+ " skipwhite nextgroup =jsDocParam
212
- syntax region jsDocTypeRecord contained start =/ {/ end =/ }/ contains =jsDocTypeRecord extend
213
- syntax region jsDocTypeRecord contained start =/ \[ / end =/ \] / contains =jsDocTypeRecord extend
214
- syntax region jsDocTypeNoParam contained start =" {" end =" }" oneline
215
- syntax match jsDocTypeNoParam contained " \% (#\|\"\|\w\|\.\| :\|\/\)\+ "
216
- syntax match jsDocParam contained " \% (#\|\$\| -\| '\|\"\| {.\{ -}}\|\w\|\.\| :\|\/\|\[ .{-}]\| =\)\+ "
217
- syntax region jsDocSeeTag contained matchgroup =jsDocSeeTag start =" {" end =" }" contains =jsDocTags
218
- endif " " JSDoc end
195
+ if exists (" javascript_plugin_jsdoc" )
196
+ runtime extras/jsdoc.vim
197
+ " NGDoc requires JSDoc
198
+ if exists (" javascript_plugin_ngdoc" )
199
+ runtime extras/ngdoc.vim
200
+ endif
201
+ endif
202
+
203
+ if exists (" javascript_plugin_flow" )
204
+ runtime extras/flow.vim
205
+ endif
219
206
220
207
syntax cluster jsExpression contains =jsBracket,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
221
208
syntax cluster jsAll contains =@jsExpression,jsExportContainer,jsImportContainer,jsStorageClass,jsConditional,jsRepeat,jsReturn,jsStatement,jsException,jsTry,jsAsyncKeyword
@@ -234,13 +221,6 @@ if version >= 508 || !exists("did_javascript_syn_inits")
234
221
HiLink jsEnvComment PreProc
235
222
HiLink jsCommentTodo Todo
236
223
HiLink jsCvsTag Function
237
- HiLink jsDocTags Special
238
- HiLink jsDocSeeTag Function
239
- HiLink jsDocType Type
240
- HiLink jsDocTypeBrackets jsDocType
241
- HiLink jsDocTypeRecord jsDocType
242
- HiLink jsDocTypeNoParam Type
243
- HiLink jsDocParam Label
244
224
HiLink jsString String
245
225
HiLink jsObjectKeyString String
246
226
HiLink jsTemplateString String
0 commit comments