25773
|
1 " DoxyGen syntax highlighting extension for c/c++/idl/java
|
1698
|
2 " Language: doxygen on top of c, cpp, idl, java, php
|
1125
|
3 " Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net>
|
831
|
4 " Author: Michael Geddes
|
23305
|
5 " Last Change: December 2020
|
|
6 " Version: 1.30
|
831
|
7 "
|
23305
|
8 " Copyright 2004-2020 Michael Geddes
|
831
|
9 " Please feel free to use, modify & distribute all or part of this script,
|
|
10 " providing this copyright message remains.
|
|
11 " I would appreciate being acknowledged in any derived scripts, and would
|
|
12 " appreciate and welcome any updates, modifications or suggestions.
|
|
13
|
|
14 " NOTE: Comments welcome!
|
|
15 "
|
1125
|
16 " There are two variables that control the syntax highlighting produced by this
|
831
|
17 " script:
|
1125
|
18 " doxygen_enhanced_colour - Use the (non-standard) original colours designed
|
|
19 " for this highlighting.
|
831
|
20 " doxygen_my_rendering - Disable the HTML bold/italic/underline rendering.
|
|
21 "
|
|
22 " A brief description without '.' or '!' will cause the end comment
|
|
23 " character to be marked as an error. You can define the colour of this using
|
|
24 " the highlight doxygenErrorComment.
|
1125
|
25 " A \link without an \endlink will cause an error highlight on the end-comment.
|
831
|
26 " This is defined by doxygenLinkError
|
|
27 "
|
|
28 " The variable g:doxygen_codeword_font can be set to the guifont for marking \c
|
|
29 " words - a 'typewriter' like font normally. Spaces must be escaped. It can
|
1125
|
30 " also be set to any highlight attribute. Alternatively, a highlight for doxygenCodeWord
|
831
|
31 " can be used to override it.
|
|
32 "
|
1698
|
33 " By default, highlighting is done assuming you have the JAVADOC_AUTOBRIEF
|
1125
|
34 " setting turned on in your Doxygen configuration. If you don't, you
|
831
|
35 " can set the variable g:doxygen_javadoc_autobrief to 0 to have the
|
1125
|
36 " highlighting more accurately reflect the way Doxygen will interpret your
|
831
|
37 " comments.
|
|
38 "
|
1698
|
39 " Support for cpp, c, idl, doxygen and php.
|
|
40 "
|
831
|
41 " Special thanks to: Wu Yongwei, Toby Allsopp
|
|
42 "
|
|
43
|
|
44 if exists('b:suppress_doxygen')
|
|
45 unlet b:suppress_doxygen
|
|
46 finish
|
|
47 endif
|
|
48
|
|
49 if exists('b:current_syntax') && b:current_syntax =~ 'doxygen' && !exists('doxygen_debug_script')
|
|
50 finish
|
|
51 endif
|
|
52
|
|
53 let s:cpo_save = &cpo
|
835
|
54 try
|
|
55 set cpo&vim
|
831
|
56
|
25773
|
57 " Start of Doxygen syntax highlighting:
|
835
|
58 "
|
831
|
59
|
835
|
60 " C/C++ Style line comments
|
12909
|
61 syn match doxygenCommentWhite +\s*\ze/\*\(\*/\)\@![*!]+ containedin=phpRegion
|
|
62 syn match doxygenCommentWhite +\s*\ze//[/!]+ containedin=phpRegion
|
|
63 syn match doxygenCommentWhite +\s*\ze/\*\(\*/\)\@![*!]+
|
|
64 syn match doxygenCommentWhite +\s*\ze//[/!]+ containedin=phpRegion
|
|
65
|
|
66 syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO,doxygenLeadingWhite keepend fold containedin=phpRegion
|
|
67 syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenLeadingLWhite,doxygenStartL,@Spell keepend skipwhite skipnl nextgroup=doxygenCommentWhite2 fold containedin=phpRegion
|
1698
|
68 syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL,@Spell keepend skipwhite skipnl fold containedin=phpRegion
|
|
69 syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion
|
12909
|
70 syn region doxygenComment start=+/\*@\ze[{}]+ end=+\*/+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion
|
831
|
71
|
835
|
72 " Single line brief followed by multiline comment.
|
12909
|
73 syn match doxygenCommentWhite2 +\_s*\ze/\*\(\*/\)\@![*!]+ contained nextgroup=doxygenComment2
|
1125
|
74 syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend fold
|
835
|
75 " This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched.
|
|
76 syn match doxygenSyncStart2 +[^*/]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenSkipComment,doxygenStartSkip2 skipwhite skipnl
|
|
77
|
|
78 " Skip empty lines at the start for when comments start on the 2nd/3rd line.
|
12909
|
79 syn match doxygenStartSkip2 +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkipWhite skipwhite skipnl
|
|
80 syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkipWhite skipwhite skipnl
|
835
|
81 syn match doxygenStart2 +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenStartSkip2 skipwhite skipnl
|
831
|
82
|
1125
|
83
|
835
|
84 " Match the Starting pattern (effectively creating the start of a BNF)
|
|
85 if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief
|
12909
|
86 syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
|
87 syn match doxygenLeadingLWhite +\s\++ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial
|
|
88 syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenLeaingLWhite,doxygenPrevL,doxygenBriefL,doxygenSpecial
|
1125
|
89 " Match the first sentence as a brief comment
|
|
90 if ! exists('g:doxygen_end_punctuation')
|
|
91 let g:doxygen_end_punctuation='[.]'
|
|
92 endif
|
|
93
|
12909
|
94 exe 'syn region doxygenBrief contained start=+[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]+ start=+\(^\s*\)\@<!\*/\@!+ start=+\<\k+ skip=+'.doxygen_end_punctuation.'\S\@=+ end=+'.doxygen_end_punctuation.'+ end=+\(\s*\(\n\s*\*\=\s*\)[@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\@=+ contains=doxygenSmallSpecial,doxygenContinueCommentWhite,doxygenLeadingWhite,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipnl nextgroup=doxygenBody'
|
1125
|
95
|
|
96 syn match doxygenBriefEndComment +\*/+ contained
|
|
97
|
|
98 exe 'syn region doxygenBriefL start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@]+ start=+\<+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'\|$+ contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend'
|
|
99 syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite
|
835
|
100 else
|
12909
|
101 syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
|
102 syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenLeadingLWhite,doxygenPrevL,doxygenLine,doxygenSpecial
|
|
103 syn match doxygenLeadingLWhite +\s\++ contained nextgroup=doxygenPrevL,doxygenLine,doxygenSpecial
|
1125
|
104 syn region doxygenLine start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@<]+ start=+\<+ end='$' contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend
|
|
105 syn match doxygenPrevL +<+ contained nextgroup=doxygenLine,doxygenSpecial skipwhite
|
|
106
|
835
|
107 endif
|
831
|
108
|
835
|
109 " This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched.
|
12909
|
110 syn match doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
|
111 " Match an [@\]brief so that it moves to body-mode.
|
|
112 "
|
|
113 "
|
|
114 " syn match doxygenBriefLine contained
|
|
115 syn match doxygenBriefSpecial contained +[@\\]+ nextgroup=doxygenBriefWord skipwhite
|
|
116 " syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained
|
|
117 syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained
|
831
|
118
|
12909
|
119
|
|
120
|
|
121 " end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+
|
|
122 "syn region doxygenBriefLine contained start=+\<\k+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contains=doxygenContinueCommentWhite,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipwhite keepend matchgroup=xxx
|
29290
|
123 syn region doxygenBriefLine contained start=+\<\k+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ skipwhite keepend matchgroup=xxx contains=@Spell
|
12909
|
124 " syn region doxygenBriefLine matchgroup=xxxy contained start=+\<\k.\++ skip=+^\s*\k+ end=+end+ skipwhite keepend
|
|
125 "doxygenFindBriefSpecial,
|
|
126 "" syn region doxygenSpecialMultilineDesc start=+.\++ contained contains=doxygenSpecialContinueCommentWhite,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend
|
|
127
|
831
|
128
|
835
|
129 " Match a '<' for applying a comment to the previous element.
|
12909
|
130 syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenBody,doxygenSpecial,doxygenStartSkipWhite skipwhite
|
831
|
131
|
1125
|
132 if exists("c_comment_strings")
|
|
133 " These are anti-Doxygen comments. If there are more than two asterisks or 3 '/'s
|
835
|
134 " then turn the comments back into normal C comments.
|
|
135 syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cCommentString,cCharacter,cNumbersCom,cSpaceError
|
|
136 syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError
|
1125
|
137 else
|
|
138 syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cSpaceError
|
|
139 syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cSpaceError
|
|
140 endif
|
831
|
141
|
835
|
142 " Special commands at the start of the area: starting with '@' or '\'
|
1125
|
143 syn region doxygenStartSpecial contained start=+[@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=doxygenSpecial nextgroup=doxygenSkipComment skipnl keepend
|
835
|
144 syn match doxygenSkipComment contained +^\s*\*/\@!+ nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenPage skipwhite
|
831
|
145
|
835
|
146 "syn region doxygenBodyBit contained start=+$+
|
831
|
147
|
835
|
148 " The main body of a doxygen comment.
|
12909
|
149 syn region doxygenBody contained start=+\(/\*[*!]\)\@<!<\|[^<]\|$+ matchgroup=doxygenEndComment end=+\*/+re=e-2,me=e-2 contains=doxygenContinueCommentWhite,doxygenTODO,doxygenSpecial,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell
|
831
|
150
|
835
|
151 " These allow the skipping of comment continuation '*' characters.
|
12909
|
152 syn match doxygenContinueCommentWhite contained +^\s*\ze\*+ nextgroup=doxygenContinueComment
|
|
153 syn match doxygenContinueComment contained +\*/\@!+
|
831
|
154
|
835
|
155 " Catch a Brief comment without punctuation - flag it as an error but
|
|
156 " make sure the end comment is picked up also.
|
|
157 syn match doxygenErrorComment contained +\*/+
|
831
|
158
|
|
159
|
835
|
160 " Skip empty lines at the start for when comments start on the 2nd/3rd line.
|
|
161 if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief
|
12909
|
162 syn match doxygenStartSkipWhite +^\s*\ze\*/\@!+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
|
163 "syn match doxygenStartSkipWhite +^\s*\ze\*$+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
835
|
164 else
|
12909
|
165 syn match doxygenStartSkipWhite +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage,doxygenBody skipwhite skipnl
|
|
166 syn match doxygenStartSkipWhite +^\s*\*$+ contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage,doxygenBody skipwhite skipnl
|
835
|
167 endif
|
831
|
168
|
835
|
169 " Create the single word matching special identifiers.
|
831
|
170
|
835
|
171 fun! s:DxyCreateSmallSpecial( kword, name )
|
831
|
172
|
23305
|
173 let mx='[-:0-9A-Za-z_%=&+*/!~>|]\@<!\([-0-9A-Za-z_%=+*/!~>|#]\+[-0-9A-Za-z_%=+*/!~>|]\@!\|\\[\\<>&.]@\|[.,]\w\@=\|::\|([^)]*)\|&[0-9a-zA-Z]\{2,7};\)\+'
|
12909
|
174 exe 'syn region doxygenSpecial'.a:name.'Word contained start=+'.a:kword.'+ end=+\(\_s\+'.mx.'\)\@<=[-a-zA-Z_0-9+*/^%|~!=&\\]\@!+ skipwhite contains=doxygenContinueCommentWhite,doxygen'.a:name.'Word'
|
1125
|
175 exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial,@Spell keepend'
|
835
|
176 endfun
|
|
177 call s:DxyCreateSmallSpecial('p', 'Code')
|
|
178 call s:DxyCreateSmallSpecial('c', 'Code')
|
|
179 call s:DxyCreateSmallSpecial('b', 'Bold')
|
|
180 call s:DxyCreateSmallSpecial('e', 'Emphasised')
|
|
181 call s:DxyCreateSmallSpecial('em', 'Emphasised')
|
|
182 call s:DxyCreateSmallSpecial('a', 'Argument')
|
|
183 call s:DxyCreateSmallSpecial('ref', 'Ref')
|
|
184 delfun s:DxyCreateSmallSpecial
|
831
|
185
|
1125
|
186 syn match doxygenSmallSpecial contained +[@\\]\(\<[npcbea]\>\|\<em\>\|\<ref\>\|\<link\>\|f\$\|[$\\&<>#]\)\@=+ nextgroup=doxygenOtherLink,doxygenHyperLink,doxygenHashLink,doxygenFormula,doxygenSymbol,doxygenSpecial.*Word
|
831
|
187
|
835
|
188 " Now for special characters
|
23305
|
189 syn match doxygenSpecial contained +[@\\]\(\<[npcbea]\>\|\<em\>\|\<ref\|\<link\>\>\|\<f\$\|[$\\&<>#]\)\@!+ nextgroup=doxygenParam,doxygenTParam,doxygenRetval,doxygenBriefWord,doxygenBold,doxygenBOther,doxygenOther,doxygenOtherTODO,doxygenOtherWARN,doxygenOtherBUG,doxygenPage,doxygenGroupDefine,doxygenCodeRegion,doxygenVerbatimRegion,doxygenDotRegion
|
835
|
190 " doxygenOtherLink,doxygenSymbol,doxygenFormula,doxygenErrorSpecial,doxygenSpecial.*Word
|
|
191 "
|
|
192 syn match doxygenGroupDefine contained +@\@<=[{}]+
|
|
193 syn match doxygenGroupDefineSpecial contained +@\ze[{}]+
|
831
|
194
|
835
|
195 syn match doxygenErrorSpecial contained +\s+
|
831
|
196
|
1125
|
197 " Match parameters and retvals (highlighting the first word as special).
|
|
198 syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite
|
12909
|
199 syn keyword doxygenParam contained param nextgroup=doxygenParamName,doxygenParamDirection skipwhite
|
|
200 syn keyword doxygenTParam contained tparam nextgroup=doxygenParamName skipwhite
|
835
|
201 syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite
|
23305
|
202 syn keyword doxygenRetval contained retval throw throws exception nextgroup=doxygenReturnValue skipwhite
|
|
203 syn match doxygenReturnValue contained +\S\++ nextgroup=doxygenSpecialMultilineDesc skipwhite
|
831
|
204
|
835
|
205 " Match one line identifiers.
|
|
206 syn keyword doxygenOther contained addindex anchor
|
|
207 \ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer
|
23305
|
208 \ example htmlonly image include includelineno ingroup latexonly line
|
|
209 \ overload relates related relatesalso relatedalso sa skip skipline
|
835
|
210 \ until verbinclude version addtogroup htmlinclude copydoc dotfile
|
|
211 \ xmlonly endxmlonly
|
12909
|
212 \ nextgroup=doxygenSpecialOnelineDesc copybrief copydetails copyright dir extends
|
|
213 \ implements
|
831
|
214
|
12909
|
215 syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\<code\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endcode\>+ contains=doxygenCodeRegionSpecial,doxygenContinueCommentWhite,doxygenErrorComment,@NoSpell
|
835
|
216 syn match doxygenCodeRegionSpecial contained +[\\@]\(endcode\>\)\@=+
|
831
|
217
|
12909
|
218 syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\<verbatim\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endverbatim\>+ contains=doxygenVerbatimRegionSpecial,doxygenContinueCommentWhite,doxygenErrorComment,@NoSpell
|
835
|
219 syn match doxygenVerbatimRegionSpecial contained +[\\@]\(endverbatim\>\)\@=+
|
831
|
220
|
12909
|
221 if exists('b:current_syntax')
|
840
|
222 let b:doxygen_syntax_save=b:current_syntax
|
|
223 unlet b:current_syntax
|
|
224 endif
|
|
225
|
835
|
226 syn include @Dotx syntax/dot.vim
|
840
|
227
|
12909
|
228 if exists('b:doxygen_syntax_save')
|
840
|
229 let b:current_syntax=b:doxygen_syntax_save
|
|
230 unlet b:doxygen_syntax_save
|
|
231 else
|
|
232 unlet b:current_syntax
|
|
233 endif
|
|
234
|
12909
|
235 syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\<dot\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<enddot\>+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueCommentWhite,@NoSpell,@Dotx
|
835
|
236 syn match doxygenDotRegionSpecial contained +[\\@]\(enddot\>\)\@=+
|
831
|
237
|
835
|
238 " Match single line identifiers.
|
|
239 syn keyword doxygenBOther contained class enum file fn mainpage interface
|
|
240 \ namespace struct typedef union var def name
|
|
241 \ nextgroup=doxygenSpecialTypeOnelineDesc
|
831
|
242
|
835
|
243 syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine
|
|
244 syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc
|
23305
|
245 " Match the start of other multiline comments.
|
|
246 syn keyword doxygenOther contained arg author authors date deprecated li return returns result see invariant note post pre remarks since test internal nextgroup=doxygenSpecialMultilineDesc
|
835
|
247 syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc
|
|
248 syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc
|
|
249 syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc
|
831
|
250
|
1125
|
251 " Handle \link, \endlink, highlighting the link-to and the link text bits separately.
|
12909
|
252 syn region doxygenOtherLink matchgroup=doxygenOther start=+\<link\>+ end=+[\@]\@<=endlink\>+ contained contains=doxygenLinkWord,doxygenContinueCommentWhite,doxygenLinkError,doxygenEndlinkSpecial
|
835
|
253 syn match doxygenEndlinkSpecial contained +[\\@]\zeendlink\>+
|
831
|
254
|
835
|
255 syn match doxygenLinkWord "[_a-zA-Z:#()][_a-z0-9A-Z:#()]*\>" contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment
|
|
256 syn match doxygenLinkRest +[^*@\\]\|\*/\@!\|[@\\]\(endlink\>\)\@!+ contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment
|
|
257 syn match doxygenContinueLinkComment contained +^\s*\*\=[^/]+me=e-1 nextgroup=doxygenLinkRest
|
|
258 syn match doxygenLinkError "\*/" contained
|
25773
|
259 " #Link highlighting.
|
23305
|
260 syn match doxygenHashLink /\(\h\w*\)\?#\(\.\w\@=\|\w\+\|::\|()\)\+/ contained contains=doxygenHashSpecial
|
835
|
261 syn match doxygenHashSpecial /#/ contained
|
2034
|
262 syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@~]\+/ contained
|
831
|
263
|
835
|
264 " Handle \page. This does not use doxygenBrief.
|
|
265 syn match doxygenPage "[\\@]page\>"me=s+1 contained skipwhite nextgroup=doxygenPagePage
|
|
266 syn keyword doxygenPagePage page contained skipwhite nextgroup=doxygenPageIdent
|
|
267 syn region doxygenPageDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenBody
|
23305
|
268 syn match doxygenPageIdent "\<\w\+\>" contained nextgroup=doxygenPageDesc
|
831
|
269
|
835
|
270 " Handle section
|
|
271 syn keyword doxygenOther defgroup section subsection subsubsection weakgroup contained skipwhite nextgroup=doxygenSpecialIdent
|
12909
|
272 syn region doxygenSpecialSectionDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenContinueCommentWhite
|
23305
|
273 syn match doxygenSpecialIdent "\<\w\+\>" contained nextgroup=doxygenSpecialSectionDesc
|
831
|
274
|
835
|
275 " Does the one-line description for the one-line type identifiers.
|
|
276 syn region doxygenSpecialTypeOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend
|
|
277 syn region doxygenSpecialOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend
|
831
|
278
|
835
|
279 " Handle the multiline description for the multiline type identifiers.
|
|
280 " Continue until an 'empty' line (can contain a '*' continuation) or until the
|
|
281 " next whole-line @ command \ command.
|
12909
|
282 syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueCommentWhite,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend
|
|
283
|
|
284 " syn match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite
|
|
285 syn match doxygenSpecialContinueCommentWhite contained +^\s*\ze\*+ nextgroup=doxygenSpecialContinueComment
|
|
286 syn match doxygenSpecialContinueComment contained +\*/\@!+
|
|
287
|
831
|
288
|
835
|
289 " Handle special cases 'bold' and 'group'
|
|
290 syn keyword doxygenBold contained bold nextgroup=doxygenSpecialHeading
|
|
291 syn keyword doxygenBriefWord contained brief nextgroup=doxygenBriefLine skipwhite
|
|
292 syn match doxygenSpecialHeading +.\++ contained skipwhite
|
|
293 syn keyword doxygenGroup contained group nextgroup=doxygenGroupName skipwhite
|
|
294 syn keyword doxygenGroupName contained +\k\++ nextgroup=doxygenSpecialOnelineDesc skipwhite
|
831
|
295
|
835
|
296 " Handle special symbol identifiers @$, @\, @$ etc
|
1125
|
297 syn match doxygenSymbol contained +[$\\&<>#n]+
|
831
|
298
|
835
|
299 " Simplistic handling of formula regions
|
|
300 syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\$+ end=+[@\\]f\$+ contains=doxygenFormulaSpecial,doxygenFormulaOperator
|
|
301 syn match doxygenFormulaSpecial contained +[@\\]\(f[^$]\|[^f]\)+me=s+1 nextgroup=doxygenFormulaKeyword,doxygenFormulaEscaped
|
|
302 syn match doxygenFormulaEscaped contained "."
|
|
303 syn match doxygenFormulaKeyword contained "[a-z]\+"
|
|
304 syn match doxygenFormulaOperator contained +[_^]+
|
831
|
305
|
835
|
306 syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\[+ end=+[@\\]f]+ contains=doxygenFormulaSpecial,doxygenFormulaOperator,doxygenAtom
|
|
307 syn region doxygenAtom contained transparent matchgroup=doxygenFormulaOperator start=+{+ end=+}+ contains=doxygenAtom,doxygenFormulaSpecial,doxygenFormulaOperator
|
831
|
308
|
25773
|
309 " Add TODO highlighting.
|
835
|
310 syn keyword doxygenTODO contained TODO README XXX FIXME
|
831
|
311
|
835
|
312 " Supported HTML subset. Not perfect, but okay.
|
|
313 syn case ignore
|
12909
|
314 syn region doxygenHtmlTag contained matchgroup=doxygenHtmlCh start=+\v\</=\ze([biuap]|em|strong|img|br|center|code|dfn|d[ldt]|hr|h[0-3]|li|[ou]l|pre|small|sub|sup|table|tt|var|caption|src|alt|longdesc|name|height|width|usemap|ismap|href|type)>+ skip=+\\<\|\<\k\+=\("[^"]*"\|'[^']*\)+ end=+>+ contains=doxygenHtmlCmd,doxygenContinueCommentWhite,doxygenHtmlVar
|
835
|
315 syn keyword doxygenHtmlCmd contained b i em strong u img a br p center code dfn dl dd dt hr h1 h2 h3 li ol ul pre small sub sup table tt var caption nextgroup=doxygenHtmlVar skipwhite
|
|
316 syn keyword doxygenHtmlVar contained src alt longdesc name height width usemap ismap href type nextgroup=doxygenHtmlEqu skipwhite
|
|
317 syn match doxygenHtmlEqu contained +=+ nextgroup=doxygenHtmlExpr skipwhite
|
|
318 syn match doxygenHtmlExpr contained +"\(\\.\|[^"]\)*"\|'\(\\.\|[^']\)*'+ nextgroup=doxygenHtmlVar skipwhite
|
|
319 syn case match
|
|
320 syn match doxygenHtmlSpecial contained "&\(copy\|quot\|[AEIOUYaeiouy]uml\|[AEIOUYaeiouy]acute\|[AEIOUaeiouy]grave\|[AEIOUaeiouy]circ\|[ANOano]tilde\|szlig\|[Aa]ring\|nbsp\|gt\|lt\|amp\);"
|
831
|
321
|
835
|
322 syn cluster doxygenHtmlGroup contains=doxygenHtmlCode,doxygenHtmlBold,doxygenHtmlUnderline,doxygenHtmlItalic,doxygenHtmlSpecial,doxygenHtmlTag,doxygenHtmlLink
|
831
|
323
|
12909
|
324 syn cluster doxygenHtmlTop contains=@Spell,doxygenHtmlSpecial,doxygenHtmlTag,doxygenContinueCommentWhite
|
835
|
325 " Html Support
|
|
326 syn region doxygenHtmlLink contained start=+<[aA]\>\s*\(\n\s*\*\s*\)\=\(\(name\|href\)=\("[^"]*"\|'[^']*'\)\)\=\s*>+ end=+</[aA]>+me=e-4 contains=@doxygenHtmlTop
|
|
327 hi link doxygenHtmlLink Underlined
|
831
|
328
|
1125
|
329 syn region doxygenHtmlBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic,@Spell
|
|
330 syn region doxygenHtmlBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic,@Spell
|
|
331 syn region doxygenHtmlBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic,@Spell
|
|
332 syn region doxygenHtmlBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline,@Spell
|
|
333 syn region doxygenHtmlBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline,@Spell
|
|
334 syn region doxygenHtmlBoldUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,@Spell
|
|
335 syn region doxygenHtmlBoldUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,@Spell
|
|
336 syn region doxygenHtmlBoldItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic,@Spell
|
831
|
337
|
1125
|
338 syn region doxygenHtmlUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBold,doxygenHtmlUnderlineItalic,@Spell
|
|
339 syn region doxygenHtmlUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic,@Spell
|
|
340 syn region doxygenHtmlUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic,@Spell
|
|
341 syn region doxygenHtmlUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,htmUnderlineItalicBold,@Spell
|
|
342 syn region doxygenHtmlUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,htmUnderlineItalicBold,@Spell
|
|
343 syn region doxygenHtmlUnderlineItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,@Spell
|
|
344 syn region doxygenHtmlUnderlineItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,@Spell
|
|
345 syn region doxygenHtmlUnderlineBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,@Spell
|
|
346 syn region doxygenHtmlUnderlineBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,@Spell
|
831
|
347
|
1125
|
348 syn region doxygenHtmlItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBold,doxygenHtmlItalicUnderline,@Spell
|
|
349 syn region doxygenHtmlItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,@Spell
|
|
350 syn region doxygenHtmlItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline,@Spell
|
|
351 syn region doxygenHtmlItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline,@Spell
|
|
352 syn region doxygenHtmlItalicBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,@Spell
|
|
353 syn region doxygenHtmlItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicUnderlineBold,@Spell
|
|
354 syn region doxygenHtmlItalicUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,@Spell
|
|
355 syn region doxygenHtmlItalicUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,@Spell
|
831
|
356
|
1125
|
357 syn region doxygenHtmlCode contained start="\c<code\>" end="\c</code>"me=e-7 contains=@doxygenHtmlTop,@NoSpell
|
831
|
358
|
1125
|
359 " Prevent the doxygen contained matches from leaking into the c/rc groups.
|
835
|
360 syn cluster cParenGroup add=doxygen.*
|
|
361 syn cluster cParenGroup remove=doxygenComment,doxygenCommentL
|
|
362 syn cluster cPreProcGroup add=doxygen.*
|
|
363 syn cluster cMultiGroup add=doxygen.*
|
|
364 syn cluster rcParenGroup add=doxygen.*
|
|
365 syn cluster rcParenGroup remove=doxygenComment,doxygenCommentL
|
|
366 syn cluster rcGroup add=doxygen.*
|
831
|
367
|
835
|
368 let s:my_syncolor=0
|
12909
|
369 if !exists(':SynColor')
|
835
|
370 command -nargs=+ SynColor hi def <args>
|
|
371 let s:my_syncolor=1
|
|
372 endif
|
|
373
|
|
374 let s:my_synlink=0
|
|
375 if !exists(':SynLink')
|
|
376 command -nargs=+ SynLink hi def link <args>
|
|
377 let s:my_synlink=1
|
831
|
378 endif
|
|
379
|
835
|
380 try
|
|
381 "let did_doxygen_syntax_inits = &background
|
|
382 hi doxygen_Dummy guifg=black
|
831
|
383
|
835
|
384 fun! s:Doxygen_Hilights_Base()
|
|
385 SynLink doxygenHtmlSpecial Special
|
|
386 SynLink doxygenHtmlVar Type
|
|
387 SynLink doxygenHtmlExpr String
|
831
|
388
|
835
|
389 SynLink doxygenSmallSpecial SpecialChar
|
831
|
390
|
835
|
391 SynLink doxygenSpecialCodeWord doxygenSmallSpecial
|
|
392 SynLink doxygenSpecialBoldWord doxygenSmallSpecial
|
|
393 SynLink doxygenSpecialEmphasisedWord doxygenSmallSpecial
|
|
394 SynLink doxygenSpecialArgumentWord doxygenSmallSpecial
|
831
|
395
|
835
|
396 " SynColor doxygenFormulaKeyword cterm=bold ctermfg=DarkMagenta guifg=DarkMagenta gui=bold
|
|
397 SynLink doxygenFormulaKeyword Keyword
|
|
398 "SynColor doxygenFormulaEscaped ctermfg=DarkMagenta guifg=DarkMagenta gui=bold
|
|
399 SynLink doxygenFormulaEscaped Special
|
|
400 SynLink doxygenFormulaOperator Operator
|
|
401 SynLink doxygenFormula Statement
|
|
402 SynLink doxygenSymbol Constant
|
|
403 SynLink doxygenSpecial Special
|
|
404 SynLink doxygenFormulaSpecial Special
|
|
405 "SynColor doxygenFormulaSpecial ctermfg=DarkBlue guifg=DarkBlue
|
|
406 endfun
|
|
407 call s:Doxygen_Hilights_Base()
|
831
|
408
|
835
|
409 fun! s:Doxygen_Hilights()
|
|
410 " Pick a sensible default for 'codeword'.
|
|
411 let font=''
|
|
412 if exists('g:doxygen_codeword_font')
|
|
413 if g:doxygen_codeword_font !~ '\<\k\+='
|
|
414 let font='font='.g:doxygen_codeword_font
|
|
415 else
|
|
416 let font=g:doxygen_codeword_font
|
|
417 endif
|
831
|
418 else
|
835
|
419 " Try and pick a font (only some platforms have been tested).
|
|
420 if has('gui_running')
|
|
421 if has('gui_gtk2')
|
|
422 if &guifont == ''
|
|
423 let font="font='FreeSerif 12'"
|
|
424 else
|
23305
|
425 let font="font='".substitute(&guifont, '^.\{-}\(\d\+\)$', 'FreeSerif \1','')."'"
|
835
|
426 endif
|
|
427
|
|
428 elseif has('gui_win32') || has('gui_win16') || has('gui_win95')
|
1125
|
429
|
|
430 if exists('g:doxygen_use_bitsream_vera') && g:doxygen_use_bitsream_vera
|
|
431 let font_base='Bitstream_Vera_Sans_Mono'
|
|
432 else
|
|
433 let font_base='Lucida_Console'
|
|
434 endif
|
835
|
435 if &guifont == ''
|
1125
|
436 let font='font='.font_base.':h10'
|
835
|
437 else
|
1125
|
438 let font='font='.matchstr(substitute(&guifont, '^[^:]*', font_base,''),'[^,]*')
|
835
|
439 endif
|
|
440 elseif has('gui_athena') || has('gui_gtk') || &guifont=~'^\(-[^-]\+\)\{14}'
|
|
441 if &guifont == ''
|
|
442 let font='font=-b&h-lucidatypewriter-medium-r-normal-*-*-140-*-*-m-*-iso8859-1'
|
|
443 else
|
|
444 " let font='font='.substitute(&guifont,'^\(-[^-]\+\)\{7}-\([0-9]\+\).*', '-b\&h-lucidatypewriter-medium-r-normal-*-*-\2-*-*-m-*-iso8859-1','')
|
|
445 " The above line works, but it is hard to expect the combination of
|
|
446 " the two fonts will look good.
|
|
447 endif
|
|
448 elseif has('gui_kde')
|
|
449 " let font='font=Bitstream\ Vera\ Sans\ Mono/12/-1/5/50/0/0/0/0/0'
|
831
|
450 endif
|
|
451 endif
|
|
452 endif
|
835
|
453 if font=='' | let font='gui=bold' | endif
|
|
454 exe 'SynColor doxygenCodeWord term=bold cterm=bold '.font
|
|
455 if (exists('g:doxygen_enhanced_color') && g:doxygen_enhanced_color) || (exists('g:doxygen_enhanced_colour') && g:doxygen_enhanced_colour)
|
|
456 if &background=='light'
|
|
457 SynColor doxygenComment ctermfg=DarkRed guifg=DarkRed
|
|
458 SynColor doxygenBrief cterm=bold ctermfg=Cyan guifg=DarkBlue gui=bold
|
|
459 SynColor doxygenBody ctermfg=DarkBlue guifg=DarkBlue
|
|
460 SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=DarkRed guifg=firebrick3 gui=bold
|
|
461 SynColor doxygenBOther cterm=bold ctermfg=DarkMagenta guifg=#aa50aa gui=bold
|
|
462 SynColor doxygenParam ctermfg=DarkGray guifg=#aa50aa
|
|
463 SynColor doxygenParamName cterm=italic ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=italic,bold
|
|
464 SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=DarkCyan guifg=DodgerBlue3 gui=bold
|
|
465 SynColor doxygenSpecialHeading cterm=bold ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=bold
|
|
466 SynColor doxygenPrev ctermfg=DarkGreen guifg=DarkGreen
|
|
467 else
|
|
468 SynColor doxygenComment ctermfg=LightRed guifg=LightRed
|
|
469 SynColor doxygenBrief cterm=bold ctermfg=Cyan ctermbg=darkgrey guifg=LightBlue gui=Bold,Italic
|
|
470 SynColor doxygenBody ctermfg=Cyan guifg=LightBlue
|
|
471 SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=Red guifg=firebrick3 gui=bold
|
|
472 SynColor doxygenBOther cterm=bold ctermfg=Magenta guifg=#aa50aa gui=bold
|
|
473 SynColor doxygenParam ctermfg=LightGray guifg=LightGray
|
|
474 SynColor doxygenParamName cterm=italic ctermfg=LightBlue guifg=LightBlue gui=italic,bold
|
|
475 SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=LightCyan guifg=LightCyan gui=bold
|
|
476 SynColor doxygenSpecialHeading cterm=bold ctermfg=LightBlue guifg=LightBlue gui=bold
|
|
477 SynColor doxygenPrev ctermfg=LightGreen guifg=LightGreen
|
|
478 endif
|
23305
|
479 SynLink doxygenValue doxygenParamName
|
831
|
480 else
|
835
|
481 SynLink doxygenComment SpecialComment
|
|
482 SynLink doxygenBrief Statement
|
|
483 SynLink doxygenBody Comment
|
|
484 SynLink doxygenSpecialTypeOnelineDesc Statement
|
|
485 SynLink doxygenBOther Constant
|
|
486 SynLink doxygenParam SpecialComment
|
|
487 SynLink doxygenParamName Underlined
|
|
488 SynLink doxygenSpecialOnelineDesc Statement
|
|
489 SynLink doxygenSpecialHeading Statement
|
|
490 SynLink doxygenPrev SpecialComment
|
23305
|
491 SynLink doxygenValue Constant
|
831
|
492 endif
|
23305
|
493 SynLink doxygenTParam doxygenParam
|
|
494
|
835
|
495 endfun
|
|
496
|
|
497 call s:Doxygen_Hilights()
|
834
|
498
|
12909
|
499 syn match doxygenLeadingWhite +\(^\s*\*\)\@<=\s*+ contained
|
|
500
|
29269
|
501 " This is still a proposal, but it is probably fine. However, it doesn't
|
|
502 " work when 'syntax' is set in a modeline, catch the security error.
|
|
503 try
|
|
504 aug doxygengroup
|
|
505 au!
|
|
506 au Syntax UserColor_reset nested call s:Doxygen_Hilights_Base()
|
|
507 au Syntax UserColor_{on,reset,enable} nested call s:Doxygen_Hilights()
|
|
508 aug END
|
|
509 catch /E12:/
|
|
510 endtry
|
834
|
511
|
831
|
512
|
835
|
513 SynLink doxygenBody Comment
|
1125
|
514 SynLink doxygenLine doxygenBody
|
835
|
515 SynLink doxygenTODO Todo
|
|
516 SynLink doxygenOtherTODO Todo
|
|
517 SynLink doxygenOtherWARN Todo
|
|
518 SynLink doxygenOtherBUG Todo
|
12909
|
519 SynLink doxygenLeadingLWhite doxygenBody
|
831
|
520
|
835
|
521 SynLink doxygenErrorSpecial Error
|
|
522 SynLink doxygenErrorEnd Error
|
|
523 SynLink doxygenErrorComment Error
|
|
524 SynLink doxygenLinkError Error
|
|
525 SynLink doxygenBriefSpecial doxygenSpecial
|
|
526 SynLink doxygenHashSpecial doxygenSpecial
|
|
527 SynLink doxygenGroupDefineSpecial doxygenSpecial
|
|
528 SynLink doxygenEndlinkSpecial doxygenSpecial
|
|
529 SynLink doxygenCodeRegionSpecial doxygenSpecial
|
|
530 SynLink doxygenVerbatimRegionSpecial doxygenSpecial
|
1125
|
531 SynLink doxygenDotRegionSpecial doxygenSpecial
|
835
|
532 SynLink doxygenGroupDefine doxygenParam
|
831
|
533
|
835
|
534 SynLink doxygenSpecialMultilineDesc doxygenSpecialOnelineDesc
|
|
535 SynLink doxygenFormulaEnds doxygenSpecial
|
|
536 SynLink doxygenBold doxygenParam
|
|
537 SynLink doxygenBriefWord doxygenParam
|
|
538 SynLink doxygenRetval doxygenParam
|
|
539 SynLink doxygenOther doxygenParam
|
|
540 SynLink doxygenStart doxygenComment
|
|
541 SynLink doxygenStart2 doxygenStart
|
|
542 SynLink doxygenComment2 doxygenComment
|
|
543 SynLink doxygenCommentL doxygenComment
|
|
544 SynLink doxygenContinueComment doxygenComment
|
|
545 SynLink doxygenSpecialContinueComment doxygenComment
|
|
546 SynLink doxygenSkipComment doxygenComment
|
|
547 SynLink doxygenEndComment doxygenComment
|
|
548 SynLink doxygenStartL doxygenComment
|
|
549 SynLink doxygenBriefEndComment doxygenComment
|
|
550 SynLink doxygenPrevL doxygenPrev
|
|
551 SynLink doxygenBriefL doxygenBrief
|
|
552 SynLink doxygenBriefLine doxygenBrief
|
|
553 SynLink doxygenHeaderLine doxygenSpecialHeading
|
12909
|
554 SynLink doxygenCommentWhite Normal
|
|
555 SynLink doxygenCommentWhite2 doxygenCommentWhite
|
|
556 SynLink doxygenContinueCommentWhite doxygenCommentWhite
|
|
557 SynLink doxygenStartSkipWhite doxygenContinueCommentWhite
|
835
|
558 SynLink doxygenLinkWord doxygenParamName
|
|
559 SynLink doxygenLinkRest doxygenSpecialMultilineDesc
|
|
560 SynLink doxygenHyperLink doxygenLinkWord
|
|
561 SynLink doxygenHashLink doxygenLinkWord
|
23305
|
562 SynLink doxygenReturnValue doxygenValue
|
831
|
563
|
835
|
564 SynLink doxygenPage doxygenSpecial
|
|
565 SynLink doxygenPagePage doxygenBOther
|
|
566 SynLink doxygenPageIdent doxygenParamName
|
|
567 SynLink doxygenPageDesc doxygenSpecialTypeOnelineDesc
|
831
|
568
|
835
|
569 SynLink doxygenSpecialIdent doxygenPageIdent
|
|
570 SynLink doxygenSpecialSectionDesc doxygenSpecialMultilineDesc
|
831
|
571
|
835
|
572 SynLink doxygenSpecialRefWord doxygenOther
|
|
573 SynLink doxygenRefWord doxygenPageIdent
|
|
574 SynLink doxygenContinueLinkComment doxygenComment
|
831
|
575
|
835
|
576 SynLink doxygenHtmlCh Function
|
|
577 SynLink doxygenHtmlCmd Statement
|
|
578 SynLink doxygenHtmlBoldItalicUnderline doxygenHtmlBoldUnderlineItalic
|
|
579 SynLink doxygenHtmlUnderlineBold doxygenHtmlBoldUnderline
|
|
580 SynLink doxygenHtmlUnderlineItalicBold doxygenHtmlBoldUnderlineItalic
|
|
581 SynLink doxygenHtmlUnderlineBoldItalic doxygenHtmlBoldUnderlineItalic
|
|
582 SynLink doxygenHtmlItalicUnderline doxygenHtmlUnderlineItalic
|
|
583 SynLink doxygenHtmlItalicBold doxygenHtmlBoldItalic
|
|
584 SynLink doxygenHtmlItalicBoldUnderline doxygenHtmlBoldUnderlineItalic
|
|
585 SynLink doxygenHtmlItalicUnderlineBold doxygenHtmlBoldUnderlineItalic
|
|
586 SynLink doxygenHtmlLink Underlined
|
831
|
587
|
835
|
588 SynLink doxygenParamDirection StorageClass
|
831
|
589
|
|
590
|
835
|
591 if !exists("doxygen_my_rendering") && !exists("html_my_rendering")
|
|
592 SynColor doxygenBoldWord term=bold cterm=bold gui=bold
|
|
593 SynColor doxygenEmphasisedWord term=italic cterm=italic gui=italic
|
|
594 SynLink doxygenArgumentWord doxygenEmphasisedWord
|
|
595 SynLink doxygenHtmlCode doxygenCodeWord
|
|
596 SynLink doxygenHtmlBold doxygenBoldWord
|
|
597 SynColor doxygenHtmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline
|
|
598 SynColor doxygenHtmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
|
|
599 SynColor doxygenHtmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline
|
|
600 SynColor doxygenHtmlUnderline term=underline cterm=underline gui=underline
|
|
601 SynColor doxygenHtmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline
|
|
602 SynColor doxygenHtmlItalic term=italic cterm=italic gui=italic
|
|
603 endif
|
831
|
604
|
835
|
605 finally
|
|
606 if s:my_synlink | delcommand SynLink | endif
|
|
607 if s:my_syncolor | delcommand SynColor | endif
|
|
608 endtry
|
831
|
609
|
835
|
610 if &syntax=='idl'
|
|
611 syn cluster idlCommentable add=doxygenComment,doxygenCommentL
|
|
612 endif
|
|
613
|
|
614 "syn sync clear
|
|
615 "syn sync maxlines=500
|
|
616 "syn sync minlines=50
|
|
617 syn sync match doxygenComment groupthere cComment "/\@<!/\*"
|
|
618 syn sync match doxygenSyncComment grouphere doxygenComment "/\@<!/\*[*!]"
|
|
619 "syn sync match doxygenSyncComment grouphere doxygenComment "/\*[*!]" contains=doxygenStart,doxygenTODO keepend
|
|
620 syn sync match doxygenSyncEndComment groupthere NONE "\*/"
|
831
|
621
|
835
|
622 if !exists('b:current_syntax')
|
|
623 let b:current_syntax = "doxygen"
|
|
624 else
|
|
625 let b:current_syntax = b:current_syntax.'.doxygen'
|
|
626 endif
|
831
|
627
|
835
|
628 finally
|
|
629 let &cpo = s:cpo_save
|
|
630 unlet s:cpo_save
|
|
631 endtry
|
12909
|
632 let suppress_doxygen=1
|
831
|
633 " vim:et sw=2 sts=2
|