Skip to content

Commit 05b6a58

Browse files
committed
Moving jsdoc support into a separate file.
1 parent 0c0d775 commit 05b6a58

File tree

2 files changed

+41
-31
lines changed

2 files changed

+41
-31
lines changed

extras/jsdocs.vim

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
"" syntax coloring for javadoc comments (HTML)
2+
syntax region jsComment matchgroup=jsComment start="/\*\s*" end="\*/" contains=jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold
3+
4+
" tags containing a param
5+
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
6+
" tags containing type and param
7+
syntax match jsDocTags contained "@\(arg\|argument\|cfg\|param\|property\|prop\)\>" skipwhite nextgroup=jsDocType
8+
" tags containing type but no param
9+
syntax match jsDocTags contained "@\(callback\|define\|enum\|external\|implements\|this\|type\|typedef\|return\|returns\)\>" skipwhite nextgroup=jsDocTypeNoParam
10+
" tags containing references
11+
syntax match jsDocTags contained "@\(lends\|see\|tutorial\)\>" skipwhite nextgroup=jsDocSeeTag
12+
" other tags (no extra syntax)
13+
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\)\>"
14+
15+
syntax region jsDocType contained matchgroup=jsDocTypeBrackets start="{" end="}" contains=jsDocTypeRecord oneline skipwhite nextgroup=jsDocParam
16+
syntax match jsDocType contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" skipwhite nextgroup=jsDocParam
17+
syntax region jsDocTypeRecord contained start=/{/ end=/}/ contains=jsDocTypeRecord extend
18+
syntax region jsDocTypeRecord contained start=/\[/ end=/\]/ contains=jsDocTypeRecord extend
19+
syntax region jsDocTypeNoParam contained start="{" end="}" oneline
20+
syntax match jsDocTypeNoParam contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+"
21+
syntax match jsDocParam contained "\%(#\|\$\|-\|'\|\"\|{.\{-}}\|\w\|\.\|:\|\/\|\[.{-}]\|=\)\+"
22+
syntax region jsDocSeeTag contained matchgroup=jsDocSeeTag start="{" end="}" contains=jsDocTags
23+
24+
if version >= 508 || !exists("did_javascript_syn_inits")
25+
if version < 508
26+
let did_javascript_syn_inits = 1
27+
command -nargs=+ HiLink hi link <args>
28+
else
29+
command -nargs=+ HiLink hi def link <args>
30+
endif
31+
HiLink jsDocTags Special
32+
HiLink jsDocSeeTag Function
33+
HiLink jsDocType Type
34+
HiLink jsDocTypeBrackets jsDocType
35+
HiLink jsDocTypeRecord jsDocType
36+
HiLink jsDocTypeNoParam Type
37+
HiLink jsDocParam Label
38+
delcommand HiLink
39+
endif

syntax/javascript.vim

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -192,31 +192,9 @@ syntax region jsComment start="/\*" end="\*/" contains=jsCommentTodo,js
192192
syntax region jsEnvComment start="\%^#!" end="$" display
193193
syntax region jsCvsTag contained start="\$\cid:" end="\$" oneline
194194

195-
"" JSDoc / JSDoc Toolkit
196195
if !exists("javascript_ignore_javaScriptdoc")
197-
"" syntax coloring for javadoc comments (HTML)
198-
syntax region jsComment matchgroup=jsComment start="/\*\s*" end="\*/" contains=jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold
199-
200-
" tags containing a param
201-
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
202-
" tags containing type and param
203-
syntax match jsDocTags contained "@\(arg\|argument\|cfg\|param\|property\|prop\)\>" skipwhite nextgroup=jsDocType
204-
" tags containing type but no param
205-
syntax match jsDocTags contained "@\(callback\|define\|enum\|external\|implements\|this\|type\|typedef\|return\|returns\)\>" skipwhite nextgroup=jsDocTypeNoParam
206-
" tags containing references
207-
syntax match jsDocTags contained "@\(lends\|see\|tutorial\)\>" skipwhite nextgroup=jsDocSeeTag
208-
" other tags (no extra syntax)
209-
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\)\>"
210-
211-
syntax region jsDocType contained matchgroup=jsDocTypeBrackets start="{" end="}" contains=jsDocTypeRecord oneline skipwhite nextgroup=jsDocParam
212-
syntax match jsDocType contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" skipwhite nextgroup=jsDocParam
213-
syntax region jsDocTypeRecord contained start=/{/ end=/}/ contains=jsDocTypeRecord extend
214-
syntax region jsDocTypeRecord contained start=/\[/ end=/\]/ contains=jsDocTypeRecord extend
215-
syntax region jsDocTypeNoParam contained start="{" end="}" oneline
216-
syntax match jsDocTypeNoParam contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+"
217-
syntax match jsDocParam contained "\%(#\|\$\|-\|'\|\"\|{.\{-}}\|\w\|\.\|:\|\/\|\[.{-}]\|=\)\+"
218-
syntax region jsDocSeeTag contained matchgroup=jsDocSeeTag start="{" end="}" contains=jsDocTags
219-
endif "" JSDoc end
196+
syntax include extras/jsdocs.vim
197+
endif
220198

221199
if exists("javascript_plugin_flow")
222200
syntax include extras/flow.vim
@@ -239,13 +217,6 @@ if version >= 508 || !exists("did_javascript_syn_inits")
239217
HiLink jsEnvComment PreProc
240218
HiLink jsCommentTodo Todo
241219
HiLink jsCvsTag Function
242-
HiLink jsDocTags Special
243-
HiLink jsDocSeeTag Function
244-
HiLink jsDocType Type
245-
HiLink jsDocTypeBrackets jsDocType
246-
HiLink jsDocTypeRecord jsDocType
247-
HiLink jsDocTypeNoParam Type
248-
HiLink jsDocParam Label
249220
HiLink jsString String
250221
HiLink jsObjectKeyString String
251222
HiLink jsTemplateString String

0 commit comments

Comments
 (0)