@@ -30,28 +30,29 @@ syntax match jsParensError /\%()\|}\|\]\)/
30
30
31
31
" " Program Keywords
32
32
syntax keyword jsStorageClass const var let
33
- syntax keyword jsOperator delete instanceof typeof void new in
33
+ syntax keyword jsOperator delete instanceof typeof void new in of
34
34
syntax match jsOperator / [\!\|\&\+\-\<\>\=\%\/\*\~\^ ]\{ 1}/
35
35
syntax keyword jsBooleanTrue true
36
36
syntax keyword jsBooleanFalse false
37
- syntax keyword jsModules import export contained
37
+ syntax keyword jsModules contained import export
38
38
" TODO: Not sure if jsObjectBlock should be nextgroup here
39
- syntax keyword jsModules export contained nextgroup =jsObjectBlock skipwhite skipempty
40
- syntax keyword jsModuleWords from as contained
41
- syntax keyword jsModuleWords default contained nextgroup =jsObjectBlock skipwhite skipempty
42
- syntax keyword jsOf of contained
43
- syntax keyword jsArgsObj arguments
39
+ syntax keyword jsModules contained export nextgroup =jsObjectBlock skipwhite skipempty
40
+ syntax keyword jsModuleWords contained from as
41
+ syntax keyword jsModuleWords contained default nextgroup =jsObjectBlock skipwhite skipempty
42
+ " TODO: This should be contained in jsFuncBlock only
43
+ syntax keyword jsArgsObj contained arguments
44
44
45
45
syntax region jsImportContainer start =" ^\s\? import \? " end =" ;\| $" contains =jsModules,jsModuleWords,jsComment,jsString,jsTemplateString,jsNoise,jsBlock
46
- syntax region jsExportContainer start =" ^\s\? export \? " end =" $" contains =jsModules,jsModuleWords,jsComment,jsTemplateString,jsString,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsFuncCall,jsUndefined,jsNan,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsArgsObj,jsBlock,jsClassDefinition
46
+ " TODO: Can the contains just be @jsExpression?
47
+ syntax region jsExportContainer start =" ^\s\? export \? " end =" $" contains =jsModules,jsModuleWords,jsComment,jsTemplateString,jsString,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsBracket,jsParen,jsFuncCall,jsUndefined,jsNan,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsArgsObj,jsBlock,jsClassDefinition
47
48
48
49
" " JavaScript comments
49
- syntax keyword jsCommentTodo TODO FIXME XXX TBD contained
50
+ syntax keyword jsCommentTodo contained TODO FIXME XXX TBD
50
51
syntax region jsComment start =+ \/\/ + end =+ $+ keepend contains =jsCommentTodo,@Spell extend
51
52
syntax region jsComment start =+ ^\s *\/\/ + skip =+ \n\s *\/\/ + end =+ $+ keepend contains =jsCommentTodo,@Spell fold
52
53
syntax region jsComment start =" /\* " end =" \* /" contains =jsCommentTodo,jsCvsTag,@Spell fold extend
53
54
syntax region jsEnvComment start =" \% ^#!" end =" $" display
54
- syntax region jsCvsTag start =" \$\c id:" end =" \$ " oneline contained
55
+ syntax region jsCvsTag contained start =" \$\c id:" end =" \$ " oneline
55
56
56
57
" " JSDoc / JSDoc Toolkit
57
58
if ! exists (" javascript_ignore_javaScriptdoc" )
@@ -69,11 +70,11 @@ if !exists("javascript_ignore_javaScriptdoc")
69
70
" other tags (no extra syntax)
70
71
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\)\> "
71
72
72
- syntax region jsDocType matchgroup =jsDocTypeBrackets start =" {" end =" }" oneline contained nextgroup =jsDocParam skipwhite contains =jsDocTypeRecord
73
+ syntax region jsDocType contained matchgroup =jsDocTypeBrackets start =" {" end =" }" oneline nextgroup =jsDocParam skipwhite contains =jsDocTypeRecord
73
74
syntax match jsDocType contained " \% (#\|\"\|\w\|\.\| :\|\/\)\+ " nextgroup =jsDocParam skipwhite
74
- syntax region jsDocTypeRecord start =/ {/ end =/ }/ contained extend contains =jsDocTypeRecord
75
- syntax region jsDocTypeRecord start =/ \[ / end =/ \] / contained extend contains =jsDocTypeRecord
76
- syntax region jsDocTypeNoParam start =" {" end =" }" oneline contained
75
+ syntax region jsDocTypeRecord contained start =/ {/ end =/ }/ extend contains =jsDocTypeRecord
76
+ syntax region jsDocTypeRecord contained start =/ \[ / end =/ \] / extend contains =jsDocTypeRecord
77
+ syntax region jsDocTypeNoParam contained start =" {" end =" }" oneline
77
78
syntax match jsDocTypeNoParam contained " \% (#\|\"\|\w\|\.\| :\|\/\)\+ "
78
79
syntax match jsDocParam contained " \% (#\|\$\| -\| '\|\"\| {.\{ -}}\|\w\|\.\| :\|\/\|\[ .{-}]\| =\)\+ "
79
80
syntax region jsDocSeeTag contained matchgroup =jsDocSeeTag start =" {" end =" }" contains =jsDocTags
@@ -89,44 +90,46 @@ syntax keyword jsNumber Infinity
89
90
syntax match jsFloat / \< -\=\% (\d\+\.\d\+\|\d\+\.\|\.\d\+\)\% ([eE][+-]\=\d\+\)\=\> /
90
91
91
92
" Regular Expressions
92
- syntax match jsSpecial " \v\\ %(0|\\ x\x\{ 2\}\|\\ u\x\{ 4\}\|\c [A-Z]|.)" contained
93
- syntax region jsTemplateVar matchgroup =jsTemplateBraces start =+ ${+ end =+ }+ contained contains =@jsExpression
94
- syntax region jsRegexpCharClass start =+ \[ + skip =+ \\ .+ end =+ \] + contained
95
- syntax match jsRegexpBoundary " \v %(\< @![\^ $]|\\ [bB])" contained
96
- syntax match jsRegexpBackRef " \v\\ [1-9][0-9]*" contained
97
- syntax match jsRegexpQuantifier " \v\\ @<!%([?*+]|\{\d +%(,|,\d +)?})\? ?" contained
98
- syntax match jsRegexpOr " \v\< @!\| " contained
99
- syntax match jsRegexpMod " \v\( @<=\? [:=!>]" contained
100
- syntax cluster jsRegexpSpecial contains =jsSpecial,jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
101
- syntax region jsRegexpGroup start =" \\\@ <!(" skip =" \\ .\|\[\(\\ .\| [^]]\) *\] " end =" \\\@ <!)" contained contains =jsRegexpCharClass,@jsRegexpSpecial keepend
93
+ syntax match jsSpecial contained " \v\\ %(0|\\ x\x\{ 2\}\|\\ u\x\{ 4\}\|\c [A-Z]|.)"
94
+ syntax region jsTemplateVar contained matchgroup =jsTemplateBraces start =+ ${+ end =+ }+ contains =@jsExpression
95
+ syntax region jsRegexpCharClass contained start =+ \[ + skip =+ \\ .+ end =+ \] +
96
+ syntax match jsRegexpBoundary contained " \v %(\< @![\^ $]|\\ [bB])"
97
+ syntax match jsRegexpBackRef contained " \v\\ [1-9][0-9]*"
98
+ syntax match jsRegexpQuantifier contained " \v\\ @<!%([?*+]|\{\d +%(,|,\d +)?})\? ?"
99
+ syntax match jsRegexpOr contained " \v\< @!\| "
100
+ syntax match jsRegexpMod contained " \v\( @<=\? [:=!>]"
101
+ syntax region jsRegexpGroup contained start =" \\\@ <!(" skip =" \\ .\|\[\(\\ .\| [^]]\) *\] " end =" \\\@ <!)" contains =jsRegexpCharClass,@jsRegexpSpecial keepend
102
102
if v: version > 703 || v: version == 603 && has (" patch1088" )
103
103
syntax region jsRegexpString start =+ \% (\% (\% (return\| case\)\s\+\)\@ 50<=\|\% (\% ([)\] "']\|\d\|\w\)\s *\)\@ 50<!\) /\(\*\| /\)\@ !+ skip =+ \\ .\|\[\% (\\ .\| [^]]\) *\] + end =+ /[gimy]\{ ,4}+ contains =jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial,@htmlPreproc oneline keepend
104
104
else
105
105
syntax region jsRegexpString start =+ \% (\% (\% (return\| case\)\s\+\)\@ <=\|\% (\% ([)\] "']\|\d\|\w\)\s *\)\@ <!\) /\(\*\| /\)\@ !+ skip =+ \\ .\|\[\% (\\ .\| [^]]\) *\] + end =+ /[gimy]\{ ,4}+ contains =jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial,@htmlPreproc oneline keepend
106
106
endif
107
+ syntax cluster jsRegexpSpecial contains =jsSpecial,jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
107
108
108
- syntax match jsObjectKey / \< [a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s *:\)\@ =/ contains =jsFunctionKey contained
109
- syntax match jsFunctionKey / \< [a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s *:\s *function\s *\)\@ =/ contained
109
+ syntax match jsObjectKey contained / \< [a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s *:\)\@ =/ contains =jsFunctionKey
110
+ syntax match jsFunctionKey contained / \< [a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s *:\s *function\s *\)\@ =/
110
111
" TODO: Put this in jsClassBlock only
111
112
syntax match jsDecorator " @" display contains =jsDecoratorFunction nextgroup =jsDecoratorFunction skipwhite
112
- syntax match jsDecoratorFunction " [a-zA-Z_][a-zA-Z0-9_.]*" display contained nextgroup =jsFunc skipwhite
113
+ " TODO: This should contained within function definition stuff...
114
+ syntax match jsDecoratorFunction contained " [a-zA-Z_][a-zA-Z0-9_.]*" display nextgroup =jsFunc skipwhite
113
115
114
116
exe ' syntax keyword jsNull null ' .(exists (' g:javascript_conceal_null' ) ? ' conceal cchar=' .g: javascript_conceal_null : ' ' )
115
- exe ' syntax keyword jsReturn return ' .(exists (' g:javascript_conceal_return' ) ? ' conceal cchar=' .g: javascript_conceal_return : ' ' )
117
+ exe ' syntax keyword jsReturn return contained ' .(exists (' g:javascript_conceal_return' ) ? ' conceal cchar=' .g: javascript_conceal_return : ' ' )
116
118
exe ' syntax keyword jsUndefined undefined ' .(exists (' g:javascript_conceal_undefined' ) ? ' conceal cchar=' .g: javascript_conceal_undefined : ' ' )
117
119
exe ' syntax keyword jsNan NaN ' .(exists (' g:javascript_conceal_NaN' ) ? ' conceal cchar=' .g: javascript_conceal_NaN : ' ' )
118
120
exe ' syntax keyword jsPrototype prototype ' .(exists (' g:javascript_conceal_prototype' ) ? ' conceal cchar=' .g: javascript_conceal_prototype : ' ' )
119
- exe ' syntax keyword jsThis this ' .(exists (' g:javascript_conceal_this' ) ? ' conceal cchar=' .g: javascript_conceal_this : ' ' )
120
- exe ' syntax keyword jsStatic static ' .(exists (' g:javascript_conceal_static' ) ? ' conceal cchar=' .g: javascript_conceal_static : ' ' )
121
- exe ' syntax keyword jsSuper super ' .(exists (' g:javascript_conceal_super' ) ? ' conceal cchar=' .g: javascript_conceal_super : ' ' )
121
+ " TODO: This group should only be included in functions
122
+ exe ' syntax keyword jsThis this contained ' .(exists (' g:javascript_conceal_this' ) ? ' conceal cchar=' .g: javascript_conceal_this : ' ' )
123
+ " TODO: this group should only be contained in functions
124
+ exe ' syntax keyword jsSuper super contained ' .(exists (' g:javascript_conceal_super' ) ? ' conceal cchar=' .g: javascript_conceal_super : ' ' )
122
125
123
126
" Statement Keywords
124
- syntax keyword jsStatement break continue with yield
127
+ syntax keyword jsStatement contained break continue with yield
125
128
" TODO: Create special block regions for these 2 lines
126
129
syntax keyword jsConditional if else switch
127
130
syntax keyword jsRepeat do while for
128
131
" TODO: Contain these in Switch block only
129
- syntax keyword jsLabel case default
132
+ syntax keyword jsLabel contained case default
130
133
" TODO: Create try/catch blocks
131
134
syntax keyword jsException try catch throw finally
132
135
syntax keyword jsAsyncKeyword async await
@@ -135,26 +138,30 @@ syntax keyword jsAsyncKeyword async await
135
138
syntax keyword jsGlobalObjects Array Boolean Date Function Iterator Number Object Symbol Map WeakMap Set RegExp String Proxy Promise Buffer ParallelArray ArrayBuffer DataView Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray JSON Math console document window Intl Collator DateTimeFormat NumberFormat
136
139
syntax keyword jsExceptions Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError
137
140
syntax keyword jsBuiltins decodeURI decodeURIComponent encodeURI encodeURIComponent eval isFinite isNaN parseFloat parseInt uneval
141
+ " TODO: How imporant is this, really? Perhaps it should be linked to an error because I assume the keywords are reserved?
138
142
syntax keyword jsFutureKeys abstract enum int short boolean interface byte long char final native synchronized float package throws goto private transient debugger implements protected volatile double public
139
143
140
- " " DOM2 Objects
144
+ " DISCUSS: Should we really be matching stuff like this?
145
+ " DOM2 Objects
141
146
syntax keyword jsGlobalObjects DOMImplementation DocumentFragment Document Node NodeList NamedNodeMap CharacterData Attr Element Text Comment CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction
142
147
syntax keyword jsExceptions DOMException
143
148
144
- " " DOM2 CONSTANT
149
+ " DISCUSS: Should we really be matching stuff like this?
150
+ " DOM2 CONSTANT
145
151
syntax keyword jsDomErrNo INDEX_SIZE_ERR DOMSTRING_SIZE_ERR HIERARCHY_REQUEST_ERR WRONG_DOCUMENT_ERR INVALID_CHARACTER_ERR NO_DATA_ALLOWED_ERR NO_MODIFICATION_ALLOWED_ERR NOT_FOUND_ERR NOT_SUPPORTED_ERR INUSE_ATTRIBUTE_ERR INVALID_STATE_ERR SYNTAX_ERR INVALID_MODIFICATION_ERR NAMESPACE_ERR INVALID_ACCESS_ERR
146
152
syntax keyword jsDomNodeConsts ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE
147
153
148
- " " HTML events and internal variables
154
+ " DISCUSS: Should we really be special matching on these props?
155
+ " HTML events and internal variables
149
156
syntax keyword jsHtmlEvents onblur onclick oncontextmenu ondblclick onfocus onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup onresize
150
157
151
158
" " Code blocks
152
159
" TODO: This should really only be for arrays... figure out the array scope better
153
160
syntax region jsBracket matchgroup =jsBrackets start =" \[ " end =" \] " contains =@jsAll,jsParensError,jsBracket,jsParen,jsBlock,@htmlPreproc fold
154
161
" TODO: This is a region to create jsParensErrors. We'll need to create special contained regions for if/else/switch statements
155
162
syntax region jsParen matchgroup =jsParens start =" (" end =" )" contains =@jsAll,jsOf,jsParensError,jsParen,jsBracket,jsBlock,@htmlPreproc fold extend
156
- syntax region jsClassBlock matchgroup =jsClassBraces start =" {" end =" }" contains =jsFuncName,jsClassMethodDefinitions,jsOperator,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator contained fold
157
- syntax region jsFuncBlock matchgroup =jsFuncBraces start =" {" end =" }" contains =@jsAll,jsParensError,jsParen,jsBracket,jsBlock,@htmlPreproc,jsClassDefinition fold extend
163
+ syntax region jsClassBlock matchgroup =jsClassBraces contained start =" {" end =" }" contains =jsFuncName,jsClassMethodDefinitions,jsOperator,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator fold
164
+ syntax region jsFuncBlock matchgroup =jsFuncBraces contained start =" {" end =" }" contains =@jsAll,jsParensError,jsParen,jsBracket,jsBlock,@htmlPreproc,jsClassDefinition fold extend
158
165
" TODO: jsBlock should be made ONLY for switch/if/else statements
159
166
syntax region jsBlock matchgroup =jsBraces start =" {" end =" }" contains =@jsAll,jsParensError,jsParen,jsBracket,jsBlock,jsObjectKey,@htmlPreproc,jsClassDefinition,jsObjectBlock extend
160
167
" TODO: Should NOT include jsAll - should onyl accept aspects for keys, using nextgroup for everything else
@@ -165,13 +172,13 @@ syntax match jsGenerator contained /\*/ nextgroup=jsFuncName,jsFuncArgs
165
172
syntax match jsFuncName contained / \< [a-zA-Z_$][0-9a-zA-Z_$]*/ nextgroup =jsFuncArgs skipwhite skipempty
166
173
" These versions of jsFuncName is for use in object declarations with no key -
167
174
" TODO: May not need this at all actually
168
- syntax match jsFuncName contained / \% (^[\r\n\t ]*\)\@ <=[*\r\n\t ]*[a-zA-Z_$][0-9a-zA-Z_$]*[\r\n\t ]*(\@ =/ nextgroup =jsFuncArgs skipwhite skipempty containedin =jsObjectBlock contains =jsGenerator
169
- syntax match jsFuncName contained / \% (,[\r\n\t ]*\)\@ <=[*\r\n\t ]*[a-zA-Z_$][0-9a-zA-Z_$]*[\r\n\t ]*(\@ =/ nextgroup =jsFuncArgs skipwhite skipempty containedin =jsObjectBlock contains =jsGenerator
175
+ syntax match jsFuncName contained / \% (^[\r\n\t ]*\)\@ <=[*\r\n\t ]*[a-zA-Z_$][0-9a-zA-Z_$]*[\r\n\t ]*(\@ =/ nextgroup =jsFuncArgs skipwhite skipempty containedin =jsObjectBlock contains =jsGenerator
176
+ syntax match jsFuncName contained / \% (,[\r\n\t ]*\)\@ <=[*\r\n\t ]*[a-zA-Z_$][0-9a-zA-Z_$]*[\r\n\t ]*(\@ =/ nextgroup =jsFuncArgs skipwhite skipempty containedin =jsObjectBlock contains =jsGenerator
170
177
syntax match jsFuncArgDestructuring contained / \( {\| }\| =\| :\|\[\|\]\) / extend
171
- syntax region jsFuncArgs contained matchgroup =jsFuncParens start =' (' end =' )' contains =jsFuncArgCommas,jsFuncArgRest,jsComment,jsString,jsNumber,jsFuncArgDestructuring,jsArrowFunction,jsParen,jsArrowFuncArgs nextgroup =jsFuncBlock keepend skipwhite skipempty
172
- syntax match jsFuncArgCommas contained ' ,'
173
- syntax match jsFuncArgRest contained / \% (\.\.\. [a-zA-Z_$][0-9a-zA-Z_$]*\) )/ contains =jsFuncArgRestDots
174
- syntax match jsFuncArgRestDots contained / \.\.\. /
178
+ syntax region jsFuncArgs contained matchgroup =jsFuncParens start =' (' end =' )' contains =jsFuncArgCommas,jsFuncArgRest,jsComment,jsString,jsNumber,jsFuncArgDestructuring,jsArrowFunction,jsParen,jsArrowFuncArgs nextgroup =jsFuncBlock keepend skipwhite skipempty
179
+ syntax match jsFuncArgCommas contained ' ,'
180
+ syntax match jsFuncArgRest contained / \% (\.\.\. [a-zA-Z_$][0-9a-zA-Z_$]*\) )/ contains =jsFuncArgRestDots
181
+ syntax match jsFuncArgRestDots contained / \.\.\. /
175
182
176
183
" Matches a single keyword argument with no parens
177
184
syntax match jsArrowFuncArgs / \k\+\s *\% (=>\)\@ =/ skipwhite contains =jsFuncArgs nextgroup =jsArrowFunction extend
@@ -181,15 +188,15 @@ syntax match jsArrowFuncArgs /([^()]*)\s*\(=>\)\@=/ skipempty skipwhite conta
181
188
exe ' syntax match jsFunction /\<function\>/ nextgroup=jsGenerator,jsFuncName,jsFuncArgs skipwhite ' .(exists (' g:javascript_conceal_function' ) ? ' conceal cchar=' .g: javascript_conceal_function : ' ' )
182
189
exe ' syntax match jsArrowFunction /=>/ skipwhite nextgroup=jsFuncBlock contains=jsFuncBraces ' .(exists (' g:javascript_conceal_arrow_function' ) ? ' conceal cchar=' .g: javascript_conceal_arrow_function : ' ' )
183
190
184
- syntax keyword jsClassKeywords extends class contained
185
- syntax match jsClassNoise / \. / contained
186
- syntax match jsClassMethodDefinitions / \% (get\| set\| static\)\% ( \k\+\)\@ =/ contained nextgroup =jsFuncName skipwhite skipempty
187
- syntax match jsClassDefinition / \< class\>\% ( [a-zA-Z_$][0-9a-zA-Z_$ \n .]*\) */ contains =jsClassKeywords,jsClassNoise nextgroup =jsClassBlock skipwhite skipempty
191
+ syntax keyword jsClassKeywords contained extends class
192
+ syntax match jsClassNoise contained / \. /
193
+ syntax match jsClassMethodDefinitions contained / \% (get\| set\| static\)\% ( \k\+\)\@ =/ nextgroup =jsFuncName skipwhite skipempty
194
+ syntax match jsClassDefinition / \< class\>\% ( [a-zA-Z_$][0-9a-zA-Z_$ \n .]*\) */ contains =jsClassKeywords,jsClassNoise nextgroup =jsClassBlock skipwhite skipempty
188
195
189
196
" TODO: Look to optimize this, so it can be properly used in nextgroup= stuff
190
- syntax cluster jsExpression contains =jsComment, jsTaggedTemplate,jsTemplateString,jsString,jsRegexpString,jsNumber,jsFloat,jsThis,jsStatic,jsSuper, jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsObjectBlock,jsBlock, jsFuncCall,jsUndefined,jsNan,jsStorageClass, jsPrototype,jsBuiltins,jsNoise,jsCommonJS,jsImportContainer,jsExportContainer,jsArgsObj,jsDecorator,jsAsyncKeyword ,jsClassDefinition,jsArrowFunction,jsArrowFuncArgs
197
+ syntax cluster jsExpression contains =jsBracket,jsParen,jsObjectBlock,jsBlock, 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
191
198
" TODO: This may actually need to be optimized
192
- syntax cluster jsAll contains =@jsExpression,jsLabel, jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsException
199
+ syntax cluster jsAll contains =@jsExpression,jsExportContainer,jsImportContainer,jsStorageClass, jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsException,jsComment,jsAsyncKeyword
193
200
194
201
" Define the default highlighting.
195
202
" For version 5.7 and earlier: only when not done already
@@ -248,7 +255,6 @@ if version >= 508 || !exists("did_javascript_syn_inits")
248
255
HiLink jsStorageClass StorageClass
249
256
HiLink jsClassKeywords Structure
250
257
HiLink jsThis Special
251
- HiLink jsStatic Special
252
258
HiLink jsSuper Special
253
259
HiLink jsNan Number
254
260
HiLink jsNull Type
0 commit comments