Skip to content

Commit 12d7bb8

Browse files
committed
merge upstream features
2 parents f7a7a07 + bab4f39 commit 12d7bb8

3 files changed

Lines changed: 70 additions & 41 deletions

File tree

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# vim-javascript v0.9.0
1+
# vim-javascript v0.10.0
22

33
JavaScript bundle for vim, this bundle provides syntax and indent plugins.
44

@@ -26,17 +26,16 @@ then simply perform the following commands to fix your current buffer:
2626

2727
Add to vimrc:
2828

29-
Bundle "pangloss/vim-javascript"
29+
Plugin "pangloss/vim-javascript"
3030

3131
And install it:
3232

3333
:so ~/.vimrc
34-
:BundleInstall
34+
:PluginInstall
3535

3636
### Install with [pathogen](https://github.com/tpope/vim-pathogen)
3737

38-
cd ~/.vim/bundle
39-
git clone https://github.com/pangloss/vim-javascript.git
38+
git clone https://github.com/pangloss/vim-javascript.git ~/.vim/bundle/vim-javascript
4039

4140
## Configuration
4241

@@ -74,6 +73,8 @@ variables:
7473
let g:javascript_conceal_undefined = "¿"
7574
let g:javascript_conceal_NaN = "ℕ"
7675
let g:javascript_conceal_prototype = "¶"
76+
let g:javascript_conceal_static = "•"
77+
let g:javascript_conceal_super = "Ω"
7778

7879
## Contributing
7980

indent/javascript.vim

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,11 @@ let s:skip_expr = "synIDattr(synID(line('.'),col('.'),1),'name') =~ '".s:syng_st
4949
let s:line_term = '\s*\%(\%(\/\/\).*\)\=$'
5050

5151
" Regex that defines continuation lines, not including (, {, or [.
52-
let s:continuation_regex = '\%([\\*+/.:]\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\)' . s:line_term
52+
let s:continuation_regex = '\%([\\*+/.:]\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\|[^=]=[^=].*,\)' . s:line_term
5353

5454
" Regex that defines continuation lines.
5555
" TODO: this needs to deal with if ...: and so on
56-
let s:msl_regex = '\%([\\*+/.:([]\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\)' . s:line_term
56+
let s:msl_regex = s:continuation_regex
5757

5858
let s:one_line_scope_regex = '\<\%(if\|else\|for\|while\)\>[^{;]*' . s:line_term
5959

@@ -443,11 +443,17 @@ function! Fixedgq(lnum, count)
443443
let l:tw = &tw ? &tw : 80;
444444

445445
let l:count = a:count
446+
let l:first_char = indent(a:lnum) + 1
446447

447448
if mode() == 'i' " gq was not pressed, but tw was set
448449
return 1
449450
endif
450451

452+
" This gq is only meant to do code with strings, not comments
453+
if s:IsLineComment(a:lnum, l:first_char) || s:IsInMultilineComment(a:lnum, l:first_char)
454+
return 1
455+
endif
456+
451457
if len(getline(a:lnum)) < l:tw && l:count == 1 " No need for gq
452458
return 1
453459
endif

syntax/javascript.vim

Lines changed: 56 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,13 @@ syntax keyword jsOperator delete instanceof typeof void new in
3535
syntax match jsOperator /\(!\||\|&\|+\|-\|<\|>\|=\|%\|\/\|*\|\~\|\^\)/
3636
syntax keyword jsBooleanTrue true
3737
syntax keyword jsBooleanFalse false
38-
syntax keyword jsCommonJS require module exports
38+
syntax keyword jsModules import export contained
39+
syntax keyword jsModuleWords default from as contained
40+
syntax keyword jsOf of contained
41+
42+
syntax region jsImportContainer start="^\s\?import \?" end="$" contains=jsModules,jsModuleWords,jsComment,jsStringS,jsStringD,jsTemplateString
43+
44+
syntax region jsExportContainer start="^\s\?export \?" end="$" contains=jsModules,jsModuleWords,jsComment,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsClass,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsAssignmentExpr
3945

4046
"" JavaScript comments
4147
syntax keyword jsCommentTodo TODO FIXME XXX TBD contained
@@ -53,10 +59,10 @@ if !exists("javascript_ignore_javaScriptdoc")
5359
"syntax include @javaHtml <sfile>:p:h/html.vim
5460
"unlet b:current_syntax
5561

56-
syntax region jsDocComment matchgroup=jsComment start="/\*\*\s*" end="\*/" contains=jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold
62+
syntax region jsBlockComment matchgroup=jsComment start="/\*\s*" end="\*/" contains=jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold
5763

5864
" tags containing a param
59-
syntax match jsDocTags contained "@\(alias\|augments\|borrows\|class\|constructs\|default\|defaultvalue\|emits\|exception\|exports\|extends\|file\|fires\|kind\|listens\|member\|member[oO]f\|mixes\|module\|name\|namespace\|requires\|template\|throws\|var\|variation\|version\)\>" nextgroup=jsDocParam skipwhite
65+
syntax match jsDocTags contained "@\(alias\|api\|augments\|borrows\|class\|constructs\|default\|defaultvalue\|emits\|exception\|exports\|extends\|file\|fires\|kind\|listens\|member\|member[oO]f\|mixes\|module\|name\|namespace\|requires\|template\|throws\|var\|variation\|version\)\>" nextgroup=jsDocParam skipwhite
6066
" tags containing type and param
6167
syntax match jsDocTags contained "@\(arg\|argument\|param\|property\)\>" nextgroup=jsDocType skipwhite
6268
" tags containing type but no param
@@ -70,7 +76,7 @@ if !exists("javascript_ignore_javaScriptdoc")
7076
syntax match jsDocType contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" nextgroup=jsDocParam skipwhite
7177
syntax region jsDocTypeNoParam start="{" end="}" oneline contained
7278
syntax match jsDocTypeNoParam contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+"
73-
syntax match jsDocParam contained "\%(#\|\"\|{\|}\|\w\|\.\|:\|\/\)\+"
79+
syntax match jsDocParam contained "\%(#\|\"\|{\|}\|\w\|\.\|:\|\/\|\[\|]\|=\)\+"
7480
syntax region jsDocSeeTag contained matchgroup=jsDocSeeTag start="{" end="}" contains=jsDocTags
7581

7682
syntax case match
@@ -79,43 +85,53 @@ endif "" JSDoc end
7985
syntax case match
8086

8187
"" Syntax in the JavaScript code
82-
syntax match jsFuncCall /\k\+\%(\s*(\)\@=/
83-
syntax match jsSpecial "\v\\%(0|\\x\x\{2\}\|\\u\x\{4\}\|\c[A-Z]|.)" contained
84-
syntax match jsTemplateVar "\${.\{-}}" contained
85-
syntax region jsStringD start=+"+ skip=+\\\("\|$\)+ end=+"\|$+ contains=jsSpecial,@htmlPreproc,@Spell
86-
syntax region jsStringS start=+'+ skip=+\\\('\|$\)+ end=+'\|$+ contains=jsSpecial,@htmlPreproc,@Spell
87-
syntax region jsTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`\|$+ contains=jsTemplateVar,jsSpecial,@htmlPreproc
88-
syntax region jsRegexpCharClass start=+\[+ skip=+\\.+ end=+\]+ contained
88+
syntax match jsFuncCall /\k\+\%(\s*(\)\@=/
89+
syntax match jsSpecial "\v\\%(0|\\x\x\{2\}\|\\u\x\{4\}\|\c[A-Z]|.)" contained
90+
syntax match jsTemplateVar "\${.\{-}}" contained
91+
syntax region jsStringD start=+"+ skip=+\\\("\|$\)+ end=+"\|$+ contains=jsSpecial,@htmlPreproc,@Spell
92+
syntax region jsStringS start=+'+ skip=+\\\('\|$\)+ end=+'\|$+ contains=jsSpecial,@htmlPreproc,@Spell
93+
syntax region jsTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`+ contains=jsTemplateVar,jsSpecial,@htmlPreproc
94+
syntax region jsTaggedTemplate start=/\k\+\(\(\n\|\s\)\+\)\?`/ end=+`\|$+ contains=jsTemplateString
95+
syntax region jsRegexpCharClass start=+\[+ skip=+\\.+ end=+\]+ contained
8996
syntax match jsRegexpBoundary "\v%(\<@![\^$]|\\[bB])" contained
90-
syntax match jsRegexpBackRef "\v\\[1-9][0-9]*" contained
97+
syntax match jsRegexpBackRef "\v\\[1-9][0-9]*" contained
9198
syntax match jsRegexpQuantifier "\v\\@<!%([?*+]|\{\d+%(,|,\d+)?})\??" contained
92-
syntax match jsRegexpOr "\v\<@!\|" contained
93-
syntax match jsRegexpMod "\v\(@<=\?[:=!>]" contained
94-
syntax cluster jsRegexpSpecial contains=jsSpecial,jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
95-
syntax region jsRegexpGroup start="\\\@<!(" skip="\\.\|\[\(\\.\|[^]]\)*\]" end="\\\@<!)" contained contains=jsRegexpCharClass,@jsRegexpSpecial keepend
96-
syntax region jsRegexpString start=+\(\(\(return\|case\)\s\+\)\@<=\|\(\([)\]"']\|\d\|\w\)\s*\)\@<!\)/\(\*\|/\)\@!+ skip=+\\.\|\[\(\\.\|[^]]\)*\]+ end=+/[gimy]\{,4}+ contains=jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial,@htmlPreproc oneline keepend
97-
syntax match jsNumber /\<-\=\d\+L\=\>\|\<0[xX]\x\+\>/
98-
syntax keyword jsNumber Infinity
99-
syntax match jsFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/
100-
syntax match jsObjectKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\(\s*:\)\@=/ contains=jsFunctionKey contained
101-
syntax match jsFunctionKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\(\s*:\s*function\s*\)\@=/ contained
99+
syntax match jsRegexpOr "\v\<@!\|" contained
100+
syntax match jsRegexpMod "\v\(@<=\?[:=!>]" contained
101+
syntax cluster jsRegexpSpecial contains=jsSpecial,jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
102+
syntax region jsRegexpGroup start="\\\@<!(" skip="\\.\|\[\(\\.\|[^]]\)*\]" end="\\\@<!)" contained contains=jsRegexpCharClass,@jsRegexpSpecial keepend
103+
syntax region jsRegexpString start=+\(\(\(return\|case\)\s\+\)\@<=\|\(\([)\]"']\|\d\|\w\)\s*\)\@<!\)/\(\*\|/\)\@!+ skip=+\\.\|\[\(\\.\|[^]]\)*\]+ end=+/[gimy]\{,4}+ contains=jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial,@htmlPreproc oneline keepend
104+
syntax match jsNumber /\<-\=\d\+\(L\|[eE][+-]\=\d\+\)\=\>\|\<0[xX]\x\+\>/
105+
syntax keyword jsNumber Infinity
106+
syntax match jsFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/
107+
syntax match jsObjectKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s*:\)\@=/ contains=jsFunctionKey contained
108+
syntax match jsFunctionKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s*:\s*function\s*\)\@=/ contained
109+
110+
syntax match jsAssignmentExpr /\v%([a-zA-Z_$]\k*\.)*[a-zA-Z_$]\k*\s*\=/ contains=jsFuncAssignExpr,jsAssignExpIdent,jsPrototype,jsOperator,jsThis,jsNoise
111+
syntax match jsAssignExpIdent /\v[a-zA-Z_$]\k*\ze%(\s*\=)/ contained
112+
syntax match jsFuncAssignExpr /\v%(%([a-zA-Z_$]\k*\.)*[a-zA-Z_$]\k*\s*\=\s*){-1,}\ze%(function\s*\*?\s*\()/ contains=jsFuncAssignObjChain,jsFuncAssignIdent,jsFunction,jsPrototype,jsOperator,jsThis contained
113+
syntax match jsFuncAssignObjChain /\v%([a-zA-Z_$]\k*\.)+/ contains=jsPrototype,jsNoise contained
114+
syntax match jsFuncAssignIdent /\v[a-zA-Z_$]\k*\ze%(\s*\=)/ contained
102115

103116
exe 'syntax keyword jsNull null '.(exists('g:javascript_conceal_null') ? 'conceal cchar='.g:javascript_conceal_null : '')
104117
exe 'syntax keyword jsReturn return '.(exists('g:javascript_conceal_return') ? 'conceal cchar='.g:javascript_conceal_return : '')
105118
exe 'syntax keyword jsUndefined undefined '.(exists('g:javascript_conceal_undefined') ? 'conceal cchar='.g:javascript_conceal_undefined : '')
106119
exe 'syntax keyword jsNan NaN '.(exists('g:javascript_conceal_NaN') ? 'conceal cchar='.g:javascript_conceal_NaN : '')
107120
exe 'syntax keyword jsPrototype prototype '.(exists('g:javascript_conceal_prototype') ? 'conceal cchar='.g:javascript_conceal_prototype : '')
108121
exe 'syntax keyword jsThis this '.(exists('g:javascript_conceal_this') ? 'conceal cchar='.g:javascript_conceal_this : '')
122+
exe 'syntax keyword jsStatic static '.(exists('g:javascript_conceal_static') ? 'conceal cchar='.g:javascript_conceal_static : '')
123+
exe 'syntax keyword jsSuper super '.(exists('g:javascript_conceal_super') ? 'conceal cchar='.g:javascript_conceal_super : '')
109124

110125
"" Statement Keywords
111126
syntax keyword jsStatement break continue with
112127
syntax keyword jsConditional if else switch
113128
syntax keyword jsRepeat do while for
114129
syntax keyword jsLabel case default
115-
syntax keyword jsKeyword yield import export extends class
130+
syntax keyword jsKeyword yield
131+
syntax keyword jsClass extends class
116132
syntax keyword jsException try catch throw finally
117133

118-
syntax keyword jsGlobalObjects Array Boolean Date Function Iterator Number Object RegExp String Proxy ParallelArray ArrayBuffer DataView Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray Intl JSON Math console document window
134+
syntax keyword jsGlobalObjects Array Boolean Date Function Iterator Number Object Symbol Map WeakMap Set RegExp String Proxy Promise ParallelArray ArrayBuffer DataView Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray Intl JSON Math console document window
119135
syntax match jsGlobalObjects /\%(Intl\.\)\@<=\(Collator\|DateTimeFormat\|NumberFormat\)/
120136

121137
syntax keyword jsExceptions Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError
@@ -159,7 +175,7 @@ if exists("javascript_enable_domhtmlcss")
159175
syntax keyword jsCssStyles contained border borderBottom borderLeft borderRight borderTop borderBottomColor borderLeftColor borderTopColor borderBottomStyle borderLeftStyle borderRightStyle borderTopStyle borderBottomWidth borderLeftWidth borderRightWidth borderTopWidth borderColor borderStyle borderWidth borderCollapse borderSpacing captionSide emptyCells tableLayout
160176
syntax keyword jsCssStyles contained margin marginBottom marginLeft marginRight marginTop outline outlineColor outlineStyle outlineWidth padding paddingBottom paddingLeft paddingRight paddingTop
161177
syntax keyword jsCssStyles contained listStyle listStyleImage listStylePosition listStyleType
162-
syntax keyword jsCssStyles contained background backgroundAttachment backgroundColor backgroundImage gackgroundPosition backgroundPositionX backgroundPositionY backgroundRepeat
178+
syntax keyword jsCssStyles contained background backgroundAttachment backgroundColor backgroundImage backgroundPosition backgroundPositionX backgroundPositionY backgroundRepeat
163179
syntax keyword jsCssStyles contained clear clip clipBottom clipLeft clipRight clipTop content counterIncrement counterReset cssFloat cursor direction display filter layoutGrid layoutGridChar layoutGridLine layoutGridMode layoutGridType
164180
syntax keyword jsCssStyles contained marks maxHeight maxWidth minHeight minWidth opacity MozOpacity overflow overflowX overflowY verticalAlign visibility zoom cssText
165181
syntax keyword jsCssStyles contained scrollbar3dLightColor scrollbarArrowColor scrollbarBaseColor scrollbarDarkShadowColor scrollbarFaceColor scrollbarHighlightColor scrollbarShadowColor scrollbarTrackColor
@@ -172,12 +188,11 @@ endif "DOM/HTML/CSS
172188

173189
"" end DOM/HTML/CSS specified things
174190

175-
176191
"" Code blocks
177-
syntax cluster jsExpression contains=jsComment,jsLineComment,jsDocComment,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsCommonJS
192+
syntax cluster jsExpression contains=jsComment,jsLineComment,jsBlockComment,jsTaggedTemplate,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsStatic,jsSuper,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsCommonJS,jsAssignmentExpr,jsImportContainer,jsExportContainer,jsClass
178193
syntax cluster jsAll contains=@jsExpression,jsLabel,jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsException
179194
syntax region jsBracket matchgroup=jsBrackets start="\[" end="\]" contains=@jsAll,jsParensErrB,jsParensErrC,jsBracket,jsParen,jsBlock,@htmlPreproc fold
180-
syntax region jsParen matchgroup=jsParens start="(" end=")" contains=@jsAll,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc fold
195+
syntax region jsParen matchgroup=jsParens start="(" end=")" contains=@jsAll,jsOf,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc fold
181196
syntax region jsBlock matchgroup=jsBraces start="{" end="}" contains=@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,jsObjectKey,@htmlPreproc fold
182197
syntax region jsFuncBlock matchgroup=jsFuncBraces start="{" end="}" contains=@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,@htmlPreproc contained fold
183198
syntax region jsTernaryIf matchgroup=jsTernaryIfOperator start=+?+ end=+:+ contains=@jsExpression,jsTernaryIf
@@ -194,10 +209,11 @@ if main_syntax == "javascript"
194209
syntax sync match jsHighlight grouphere jsBlock /{/
195210
endif
196211

197-
exe 'syntax match jsFunction /\<function\>/ nextgroup=jsFuncName,jsFuncArgs skipwhite '.(exists('g:javascript_conceal_function') ? 'conceal cchar='.g:javascript_conceal_function : '')
212+
exe 'syntax match jsFunction /\<function\>/ nextgroup=jsGenerator,jsFuncName,jsFuncArgs skipwhite '.(exists('g:javascript_conceal_function') ? 'conceal cchar='.g:javascript_conceal_function : '')
198213

214+
syntax match jsGenerator contained '\*' nextgroup=jsFuncName skipwhite
199215
syntax match jsFuncName contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*/ nextgroup=jsFuncArgs skipwhite
200-
syntax region jsFuncArgs contained matchgroup=jsFuncParens start='(' end=')' contains=jsFuncArgCommas,jsFuncArgRest nextgroup=jsFuncBlock keepend skipwhite skipempty
216+
syntax region jsFuncArgs contained matchgroup=jsFuncParens start='(' end=')' contains=jsFuncArgCommas,jsFuncArgRest,jsAssignmentExpr nextgroup=jsFuncBlock keepend skipwhite skipempty
201217
syntax match jsFuncArgCommas contained ','
202218
syntax match jsFuncArgRest contained /\%(\.\.\.[a-zA-Z_$][0-9a-zA-Z_$]*\))/
203219
syntax keyword jsArgsObj arguments contained containedin=jsFuncBlock
@@ -218,7 +234,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
218234
HiLink jsComment Comment
219235
HiLink jsLineComment Comment
220236
HiLink jsEnvComment PreProc
221-
HiLink jsDocComment Comment
237+
HiLink jsBlockComment Comment
222238
HiLink jsCommentTodo Todo
223239
HiLink jsCvsTag Function
224240
HiLink jsDocTags Special
@@ -229,6 +245,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
229245
HiLink jsStringS String
230246
HiLink jsStringD String
231247
HiLink jsTemplateString String
248+
HiLink jsTaggedTemplate StorageClass
232249
HiLink jsTernaryIfOperator Conditional
233250
HiLink jsRegexpString String
234251
HiLink jsRegexpBoundary SpecialChar
@@ -250,6 +267,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
250267
HiLink jsKeyword Keyword
251268
HiLink jsArrowFunction Type
252269
HiLink jsFunction Type
270+
HiLink jsGenerator jsFunction
253271
HiLink jsFuncName Function
254272
HiLink jsArgsObj Special
255273
HiLink jsError Error
@@ -258,8 +276,12 @@ if version >= 508 || !exists("did_javascript_syn_inits")
258276
HiLink jsParensErrB Error
259277
HiLink jsParensErrC Error
260278
HiLink jsOperator Operator
279+
HiLink jsOf Operator
261280
HiLink jsStorageClass StorageClass
281+
HiLink jsClass Structure
262282
HiLink jsThis Special
283+
HiLink jsStatic Special
284+
HiLink jsSuper Special
263285
HiLink jsNan Number
264286
HiLink jsNull Type
265287
HiLink jsUndefined Type
@@ -279,7 +301,8 @@ if version >= 508 || !exists("did_javascript_syn_inits")
279301
HiLink jsExceptions Special
280302
HiLink jsFutureKeys Special
281303
HiLink jsBuiltins Special
282-
HiLink jsCommonJS Include
304+
HiLink jsModules Include
305+
HiLink jsModuleWords Include
283306

284307
HiLink jsDomErrNo Constant
285308
HiLink jsDomNodeConsts Constant
@@ -296,10 +319,9 @@ if version >= 508 || !exists("did_javascript_syn_inits")
296319
endif
297320

298321
" Define the htmlJavaScript for HTML syntax html.vim
299-
"syntax clear htmlJavaScript
300-
"syntax clear jsExpression
301322
syntax cluster htmlJavaScript contains=@jsAll,jsBracket,jsParen,jsBlock
302323
syntax cluster javaScriptExpression contains=@jsAll,jsBracket,jsParen,jsBlock,@htmlPreproc
324+
303325
" Vim's default html.vim highlights all javascript as 'Special'
304326
hi! def link javaScript NONE
305327

0 commit comments

Comments
 (0)