@@ -95,7 +95,8 @@ exe 'syntax keyword jsSuper super contained '.(exists('g:javascript_conceal
95
95
96
96
" Statement Keywords
97
97
syntax keyword jsStatement contained break continue with yield debugger
98
- syntax keyword jsConditional if else skipwhite skipempty nextgroup =jsParenIfElse,jsBlock
98
+ syntax keyword jsConditional if skipwhite skipempty nextgroup =jsParenIfElse
99
+ syntax keyword jsConditional else skipwhite skipempty nextgroup =jsCommentMisc,jsBlock
99
100
syntax keyword jsConditional switch skipwhite skipempty nextgroup =jsParenSwitch
100
101
syntax keyword jsRepeat while for skipwhite skipempty nextgroup =jsParenRepeat
101
102
syntax keyword jsDo do skipwhite skipempty nextgroup =jsBlock
@@ -131,11 +132,11 @@ syntax keyword jsHtmlEvents onblur onclick oncontextmenu ondblclick onfocus
131
132
" " Code blocks
132
133
syntax region jsBracket matchgroup =jsBrackets start =/ \[ / end =/ \] / contains =@jsExpression extend fold
133
134
syntax region jsParen matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll extend fold
134
- syntax region jsParenIfElse contained matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsBlock extend fold
135
- syntax region jsParenRepeat contained matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsBlock extend fold
135
+ syntax region jsParenIfElse contained matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsCommentMisc, jsBlock extend fold
136
+ syntax region jsParenRepeat contained matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsCommentMisc, jsBlock extend fold
136
137
syntax region jsParenSwitch contained matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsSwitchBlock extend fold
137
138
syntax region jsParenCatch contained matchgroup =jsParens start =/ (/ end =/ )/ skipwhite skipempty nextgroup =jsTryCatchBlock extend fold
138
- syntax region jsFuncArgs contained matchgroup =jsFuncParens start =/ (/ end =/ )/ contains =jsFuncArgCommas,jsComment,jsFuncArgExpression,jsDestructuringBlock,jsRestExpression,jsFlow skipwhite skipempty nextgroup =jsFuncBlock,jsFlowReturn extend fold
139
+ syntax region jsFuncArgs contained matchgroup =jsFuncParens start =/ (/ end =/ )/ contains =jsFuncArgCommas,jsComment,jsFuncArgExpression,jsDestructuringBlock,jsRestExpression,jsFlow skipwhite skipempty nextgroup =jsCommentFunction, jsFuncBlock,jsFlowReturn extend fold
139
140
syntax region jsClassBlock contained matchgroup =jsClassBraces start =/ {/ end =/ }/ contains =jsClassFuncName,jsClassMethodType,jsArrowFunction,jsArrowFuncArgs,jsComment,jsGenerator,jsDecorator,jsClassProperty,jsClassPropertyComputed,jsClassStringKey,jsNoise,jsFlowClassProperty extend fold
140
141
syntax region jsFuncBlock contained matchgroup =jsFuncBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
141
142
syntax region jsBlock contained matchgroup =jsBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
@@ -166,7 +167,7 @@ exe 'syntax match jsArrowFunction /=>/ skipwhite skipempty nextgroup=jsFunc
166
167
syntax keyword jsClassKeywords contained extends class
167
168
syntax match jsClassNoise contained / \. /
168
169
syntax match jsClassMethodType contained / \% (get\| set\| static\| async\)\% ( \k\+\)\@ =/ skipwhite skipempty nextgroup =jsFuncName,jsClassProperty
169
- syntax match jsClassDefinition / \< class\>\% ( [a-zA-Z_$][0-9a-zA-Z_$ \n .]*\) */ contains =jsClassKeywords,jsClassNoise skipwhite skipempty nextgroup =jsClassBlock,jsFlowClass
170
+ syntax match jsClassDefinition / \< class\>\% ( [a-zA-Z_$][0-9a-zA-Z_$ \n .]*\) */ contains =jsClassKeywords,jsClassNoise skipwhite skipempty nextgroup =jsCommentClass, jsClassBlock,jsFlowClass
170
171
syntax match jsDecorator contained " @" nextgroup =jsDecoratorFunction
171
172
syntax match jsDecoratorFunction contained " [a-zA-Z_][a-zA-Z0-9_.]*"
172
173
syntax match jsClassProperty contained / \< [0-9a-zA-Z_$]*\>\(\s *=\)\@ =/ skipwhite skipempty nextgroup =jsClassValue
@@ -191,6 +192,16 @@ syntax region jsComment start=/\/\// end=/$/ contains=jsCommentTodo,@Spe
191
192
syntax region jsComment start =/ \/\* / end =/ \*\/ / contains =jsCommentTodo,@Spell fold extend keepend
192
193
syntax region jsEnvComment start =/ \% ^#!/ end =/ $/ display
193
194
195
+ " Specialized Comments - These are special comment regexes that are used in
196
+ " odd places that maintain the proper nextgroup functionality. It sucks we
197
+ " can't make jsComment a skippable type of group for nextgroup
198
+ syntax region jsCommentFunction contained start =/ \/\/ / end =/ $/ contains =jsCommentTodo,@Spell skipwhite skipempty nextgroup =jsFuncBlock,jsFlowReturn extend keepend
199
+ syntax region jsCommentFunction contained start =/ \/\* / end =/ \*\/ / contains =jsCommentTodo,@Spell skipwhite skipempty nextgroup =jsFuncBlock,jsFlowReturn fold extend keepend
200
+ syntax region jsCommentClass contained start =/ \/\/ / end =/ $/ contains =jsCommentTodo,@Spell skipwhite skipempty nextgroup =jsClassBlock,jsFlowClass extend keepend
201
+ syntax region jsCommentClass contained start =/ \/\* / end =/ \*\/ / contains =jsCommentTodo,@Spell skipwhite skipempty nextgroup =jsClassBlock,jsFlowClass fold extend keepend
202
+ syntax region jsCommentMisc contained start =/ \/\/ / end =/ $/ contains =jsCommentTodo,@Spell skipwhite skipempty nextgroup =jsBlock extend keepend
203
+ syntax region jsCommentMisc contained start =/ \/\* / end =/ \*\/ / contains =jsCommentTodo,@Spell skipwhite skipempty nextgroup =jsBlock fold extend keepend
204
+
194
205
if exists (" javascript_plugin_jsdoc" )
195
206
runtime extras/jsdoc.vim
196
207
" NGDoc requires JSDoc
@@ -308,6 +319,10 @@ if version >= 508 || !exists("did_javascript_syn_inits")
308
319
HiLink jsDestructuringAssignment jsObjectKey
309
320
HiLink jsDestructuringNoise Noise
310
321
322
+ HiLink jsCommentFunction jsComment
323
+ HiLink jsCommentClass jsComment
324
+ HiLink jsCommentMisc jsComment
325
+
311
326
HiLink jsDomErrNo Constant
312
327
HiLink jsDomNodeConsts Constant
313
328
HiLink jsDomElemAttrs Label
0 commit comments