@@ -137,6 +137,7 @@ syntax keyword jsHtmlEvents onblur onclick oncontextmenu ondblclick onfocus
137
137
" Code blocks
138
138
syntax region jsBracket matchgroup =jsBrackets start =/ \[ / end =/ \] / contains =@jsExpression extend fold
139
139
syntax region jsParen matchgroup =jsParens start =/ (/ end =/ )/ contains =@jsAll extend fold
140
+ syntax region jsParenDecorator contained matchgroup =jsParensDecorator start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsCommentMisc extend fold
140
141
syntax region jsParenIfElse contained matchgroup =jsParensIfElse start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsCommentMisc,jsIfElseBlock extend fold
141
142
syntax region jsParenRepeat contained matchgroup =jsParensRepeat start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsCommentMisc,jsRepeatBlock extend fold
142
143
syntax region jsParenSwitch contained matchgroup =jsParensSwitch start =/ (/ end =/ )/ contains =@jsAll skipwhite skipempty nextgroup =jsSwitchBlock extend fold
@@ -152,7 +153,7 @@ syntax region jsSwitchBlock contained matchgroup=jsSwitchBraces s
152
153
syntax region jsRepeatBlock contained matchgroup =jsRepeatBraces start =/ {/ end =/ }/ contains =@jsAll extend fold
153
154
syntax region jsDestructuringBlock contained matchgroup =jsDestructuringBraces start =/ {/ end =/ }/ contains =jsDestructuringProperty,jsDestructuringAssignment,jsDestructuringNoise,jsDestructuringPropertyComputed,jsSpreadExpression extend fold
154
155
syntax region jsDestructuringArray contained matchgroup =jsDestructuringBraces start =/ \[ / end =/ \] / contains =jsDestructuringPropertyValue,jsNoise,jsDestructuringProperty,jsSpreadExpression extend fold
155
- syntax region jsObject matchgroup =jsObjectBraces start =/ {/ end =/ }/ contains =jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression extend fold
156
+ syntax region jsObject matchgroup =jsObjectBraces start =/ {/ end =/ }/ contains =jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsDecorator extend fold
156
157
syntax region jsTernaryIf matchgroup =jsTernaryIfOperator start =/ ?/ end =/ \% (:\| [\} ]\@ =\) / contains =@jsExpression
157
158
syntax region jsSpreadExpression contained matchgroup =jsSpreadOperator start =/ \.\.\. / end =/ [,}\] ]\@ =/ contains =@jsExpression
158
159
syntax region jsRestExpression contained matchgroup =jsRestOperator start =/ \.\.\. / end =/ [,)]\@ =/
@@ -177,8 +178,6 @@ syntax keyword jsClassKeywords contained extends class
177
178
syntax match jsClassNoise contained / \. /
178
179
syntax match jsClassMethodType contained / \% (get\| set\| static\| async\)\% ( \k\+\)\@ =/ skipwhite skipempty nextgroup =jsFuncName,jsClassProperty
179
180
syntax match jsClassDefinition / \< class\>\% ( [a-zA-Z_$][0-9a-zA-Z_$ \n .]*\) */ contains =jsClassKeywords,jsClassNoise skipwhite skipempty nextgroup =jsCommentClass,jsClassBlock,jsFlowClassGroup
180
- syntax match jsDecorator contained " @" nextgroup =jsDecoratorFunction
181
- syntax match jsDecoratorFunction contained " [a-zA-Z_][a-zA-Z0-9_.]*"
182
181
syntax match jsClassProperty contained / \< [0-9a-zA-Z_$]*\>\(\s *=\)\@ =/ skipwhite skipempty nextgroup =jsClassValue
183
182
syntax region jsClassValue contained start =/ =/ end =/ \% (;\| }\|\n\)\@ =/ contains =@jsExpression
184
183
syntax region jsClassPropertyComputed contained matchgroup =jsBrackets start =/ \[ / end =/ ]/ contains =@jsExpression skipwhite skipempty nextgroup =jsFuncArgs,jsClassValue extend
@@ -211,6 +210,10 @@ syntax region jsCommentClass contained start=/\/\*/ end=/\*\// contains=j
211
210
syntax region jsCommentMisc contained start =/ \/\/ / end =/ $/ contains =jsCommentTodo,@Spell skipwhite skipempty nextgroup =jsBlock extend keepend
212
211
syntax region jsCommentMisc contained start =/ \/\* / end =/ \*\/ / contains =jsCommentTodo,@Spell skipwhite skipempty nextgroup =jsBlock fold extend keepend
213
212
213
+ " Decorators
214
+ syntax match jsDecorator / ^\s *@/ nextgroup =jsDecoratorFunction
215
+ syntax match jsDecoratorFunction contained / [a-zA-Z_][a-zA-Z0-9_.]*/ nextgroup =jsParenDecorator
216
+
214
217
if exists (" javascript_plugin_jsdoc" )
215
218
runtime extras/jsdoc.vim
216
219
" NGDoc requires JSDoc
0 commit comments