diff options
author | Bram Moolenaar <Bram@vim.org> | 2006-04-17 22:14:47 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2006-04-17 22:14:47 +0000 |
commit | a93fa7ee7856b54d3778e613c7b7e4b76aaeb2af (patch) | |
tree | 4797f43c4e1694903d93da1b61ba972955cb6aad /runtime/syntax/doxygen.vim | |
parent | b21e5843e53d3582df5f521f57e7e52e83d51d10 (diff) | |
download | vim-a93fa7ee7856b54d3778e613c7b7e4b76aaeb2af.zip |
updated for version 7.0e01
Diffstat (limited to 'runtime/syntax/doxygen.vim')
-rw-r--r-- | runtime/syntax/doxygen.vim | 959 |
1 files changed, 478 insertions, 481 deletions
diff --git a/runtime/syntax/doxygen.vim b/runtime/syntax/doxygen.vim index bc04ae933..4ae3a93b6 100644 --- a/runtime/syntax/doxygen.vim +++ b/runtime/syntax/doxygen.vim @@ -48,520 +48,517 @@ if exists('b:current_syntax') && b:current_syntax =~ 'doxygen' && !exists('doxyg endif let s:cpo_save = &cpo -set cpo&vim - -" Start of Doxygen syntax hilighting: -" - -" C/C++ Style line comments -syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend -syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenStartL keepend skipwhite skipnl nextgroup=doxygenComment2 -syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL keepend skipwhite skipnl -syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial - -" Single line brief followed by multiline comment. -syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend -" This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. -syn match doxygenSyncStart2 +[^*/]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenSkipComment,doxygenStartSkip2 skipwhite skipnl - -" Skip empty lines at the start for when comments start on the 2nd/3rd line. -syn match doxygenStartSkip2 +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkip skipwhite skipnl -syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,,doxygenStartSkip skipwhite skipnl -syn match doxygenStart2 +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenStartSkip2 skipwhite skipnl - -" Match the Starting pattern (effectively creating the start of a BNF) -if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief - syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl -else - syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl -endif -syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial skipwhite - -" This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. -syn match doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl +try + set cpo&vim + + " Start of Doxygen syntax hilighting: + " + + " C/C++ Style line comments + syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend + syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenStartL keepend skipwhite skipnl nextgroup=doxygenComment2 + syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL keepend skipwhite skipnl + syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial + + " Single line brief followed by multiline comment. + syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend + " This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. + syn match doxygenSyncStart2 +[^*/]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenSkipComment,doxygenStartSkip2 skipwhite skipnl + + " Skip empty lines at the start for when comments start on the 2nd/3rd line. + syn match doxygenStartSkip2 +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkip skipwhite skipnl + syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,,doxygenStartSkip skipwhite skipnl + syn match doxygenStart2 +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenStartSkip2 skipwhite skipnl + + " Match the Starting pattern (effectively creating the start of a BNF) + if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief + syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl + else + syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl + endif + syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial skipwhite -" Match the first sentence as a brief comment -if ! exists('g:doxygen_end_punctuation') - let g:doxygen_end_punctuation='[.]' -endif -exe 'syn region doxygenBrief contained start=+[\\@]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]+ start=+\(^\s*\)\@<!\*/\@!+ start=+\<\k+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'+ end=+\(\s*\(\n\s*\*\=\s*\)[@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\@=+ contains=doxygenSmallSpecial,doxygenContinueComment,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenOtherLink,doxygenHyperLink,doxygenHashLink skipnl nextgroup=doxygenBody' + " This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched. + syn match doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl -syn match doxygenBriefEndComment +\*/+ contained + " Match the first sentence as a brief comment + if ! exists('g:doxygen_end_punctuation') + let g:doxygen_end_punctuation='[.]' + endif + exe 'syn region doxygenBrief contained start=+[\\@]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]+ start=+\(^\s*\)\@<!\*/\@!+ start=+\<\k+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'+ end=+\(\s*\(\n\s*\*\=\s*\)[@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\@=+ contains=doxygenSmallSpecial,doxygenContinueComment,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenOtherLink,doxygenHyperLink,doxygenHashLink skipnl nextgroup=doxygenBody' -exe 'syn region doxygenBriefL start=+@\k\@!\|[\\@]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@]+ start=+\<+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'\|$+ contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup keepend' + syn match doxygenBriefEndComment +\*/+ contained -syn region doxygenBriefLine contained start=+\<\k+ end=+\(\n\s*\*\=\s*\([@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ contains=doxygenContinueComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenOtherLink,doxygenHyperLink,doxygenHashLink skipwhite keepend + exe 'syn region doxygenBriefL start=+@\k\@!\|[\\@]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@]+ start=+\<+ skip=+'.doxygen_end_punctuation.'\S+ end=+'.doxygen_end_punctuation.'\|$+ contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup keepend' -" Match a '<' for applying a comment to the previous element. -syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenSpecial,doxygenStartSkip skipwhite -syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite + syn region doxygenBriefLine contained start=+\<\k+ end=+\(\n\s*\*\=\s*\([@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ contains=doxygenContinueComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenOtherLink,doxygenHyperLink,doxygenHashLink skipwhite keepend -" These are anti-doxygen comments. If there are more than two asterisks or 3 '/'s -" then turn the comments back into normal C comments. -syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cCommentString,cCharacter,cNumbersCom,cSpaceError -syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError + " Match a '<' for applying a comment to the previous element. + syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenSpecial,doxygenStartSkip skipwhite + syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite -" Special commands at the start of the area: starting with '@' or '\' -syn region doxygenStartSpecial contained start=+[@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=doxygenSpecial nextgroup=doxygenSkipComment skipnl keepend -syn match doxygenSkipComment contained +^\s*\*/\@!+ nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenPage skipwhite + " These are anti-doxygen comments. If there are more than two asterisks or 3 '/'s + " then turn the comments back into normal C comments. + syn region cComment start="/\*\*\*" end="\*/" contains=@cCommentGroup,cCommentString,cCharacter,cNumbersCom,cSpaceError + syn region cCommentL start="////" skip="\\$" end="$" contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError -"syn region doxygenBodyBit contained start=+$+ + " Special commands at the start of the area: starting with '@' or '\' + syn region doxygenStartSpecial contained start=+[@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=doxygenSpecial nextgroup=doxygenSkipComment skipnl keepend + syn match doxygenSkipComment contained +^\s*\*/\@!+ nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenPage skipwhite -" The main body of a doxygen comment. -syn region doxygenBody contained start=+.\|$+ matchgroup=doxygenEndComment end=+\*/+re=e-2,me=e-2 contains=doxygenContinueComment,doxygenTODO,doxygenSpecial,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup + "syn region doxygenBodyBit contained start=+$+ -" These allow the skipping of comment continuation '*' characters. -syn match doxygenContinueComment contained +^\s*\*/\@!\s*+ + " The main body of a doxygen comment. + syn region doxygenBody contained start=+.\|$+ matchgroup=doxygenEndComment end=+\*/+re=e-2,me=e-2 contains=doxygenContinueComment,doxygenTODO,doxygenSpecial,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup -" Catch a Brief comment without punctuation - flag it as an error but -" make sure the end comment is picked up also. -syn match doxygenErrorComment contained +\*/+ + " These allow the skipping of comment continuation '*' characters. + syn match doxygenContinueComment contained +^\s*\*/\@!\s*+ + " Catch a Brief comment without punctuation - flag it as an error but + " make sure the end comment is picked up also. + syn match doxygenErrorComment contained +\*/+ -" Skip empty lines at the start for when comments start on the 2nd/3rd line. -if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief - syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl - syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl -else - syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl - syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl -endif -" Match an [@\]brief so that it moves to body-mode. -" -" -" syn match doxygenBriefLine contained -syn match doxygenBriefSpecial contained +[@\\]+ nextgroup=doxygenBriefWord skipwhite -syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ end=+\(\n\s*\*\=\s*\([@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained + " Skip empty lines at the start for when comments start on the 2nd/3rd line. + if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief + syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl + syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl + else + syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl + syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl + endif + " Match an [@\]brief so that it moves to body-mode. + " + " + " syn match doxygenBriefLine contained + syn match doxygenBriefSpecial contained +[@\\]+ nextgroup=doxygenBriefWord skipwhite + syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ end=+\(\n\s*\*\=\s*\([@\\]\([pcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained -" Create the single word matching special identifiers. -fun! s:DxyCreateSmallSpecial( kword, name ) + " Create the single word matching special identifiers. - let mx='[-:0-9A-Za-z_%=&+*/!~>|]\@<!\([-0-9A-Za-z_%=+*/!~>|#]\+[-0-9A-Za-z_%=+*/!~>|]\@!\|\\[\\<>&.]@\|[.,][0-9a-zA-Z_]\@=\|::\|([^)]*)\|&[0-9a-zA-Z]\{2,7};\)\+' - exe 'syn region doxygenSpecial'.a:name.'Word contained start=+'.a:kword.'+ end=+\(\_s\+'.mx.'\)\@<=[-a-zA-Z_0-9+*/^%|~!=&\\]\@!+ skipwhite contains=doxygenContinueComment,doxygen'.a:name.'Word' - exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial keepend' -endfun -call s:DxyCreateSmallSpecial('p', 'Code') -call s:DxyCreateSmallSpecial('c', 'Code') -call s:DxyCreateSmallSpecial('b', 'Bold') -call s:DxyCreateSmallSpecial('e', 'Emphasised') -call s:DxyCreateSmallSpecial('em', 'Emphasised') -call s:DxyCreateSmallSpecial('a', 'Argument') -call s:DxyCreateSmallSpecial('ref', 'Ref') -delfun s:DxyCreateSmallSpecial + fun! s:DxyCreateSmallSpecial( kword, name ) -syn match doxygenSmallSpecial contained +[@\\]\(\<[pcbea]\>\|\<em\>\|\<ref\>\|\<link\>\|f\$\|[$\\&<>#]\)\@=+ nextgroup=doxygenOtherLink,doxygenHyperLink,doxygenHashLink,doxygenFormula,doxygenSymbol,doxygenSpecial.*Word + let mx='[-:0-9A-Za-z_%=&+*/!~>|]\@<!\([-0-9A-Za-z_%=+*/!~>|#]\+[-0-9A-Za-z_%=+*/!~>|]\@!\|\\[\\<>&.]@\|[.,][0-9a-zA-Z_]\@=\|::\|([^)]*)\|&[0-9a-zA-Z]\{2,7};\)\+' + exe 'syn region doxygenSpecial'.a:name.'Word contained start=+'.a:kword.'+ end=+\(\_s\+'.mx.'\)\@<=[-a-zA-Z_0-9+*/^%|~!=&\\]\@!+ skipwhite contains=doxygenContinueComment,doxygen'.a:name.'Word' + exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial keepend' + endfun + call s:DxyCreateSmallSpecial('p', 'Code') + call s:DxyCreateSmallSpecial('c', 'Code') + call s:DxyCreateSmallSpecial('b', 'Bold') + call s:DxyCreateSmallSpecial('e', 'Emphasised') + call s:DxyCreateSmallSpecial('em', 'Emphasised') + call s:DxyCreateSmallSpecial('a', 'Argument') + call s:DxyCreateSmallSpecial('ref', 'Ref') + delfun s:DxyCreateSmallSpecial + + syn match doxygenSmallSpecial contained +[@\\]\(\<[pcbea]\>\|\<em\>\|\<ref\>\|\<link\>\|f\$\|[$\\&<>#]\)\@=+ nextgroup=doxygenOtherLink,doxygenHyperLink,doxygenHashLink,doxygenFormula,doxygenSymbol,doxygenSpecial.*Word + + " Now for special characters + syn match doxygenSpecial contained +[@\\]\(\<[pcbea]\>\|\<em\>\|\<ref\|\<link\>\>\|\<f\$\|[$\\&<>#]\)\@!+ nextgroup=doxygenParam,doxygenRetval,doxygenBriefWord,doxygenBold,doxygenBOther,doxygenOther,doxygenOtherTODO,doxygenOtherWARN,doxygenOtherBUG,doxygenPage,doxygenGroupDefine,doxygenCodeRegion,doxygenVerbatimRegion,doxygenDotRegion + " doxygenOtherLink,doxygenSymbol,doxygenFormula,doxygenErrorSpecial,doxygenSpecial.*Word + " + syn match doxygenGroupDefine contained +@\@<=[{}]+ + syn match doxygenGroupDefineSpecial contained +@\ze[{}]+ + + syn match doxygenErrorSpecial contained +\s+ + + " Match Parmaters and retvals (hilighting the first word as special). + syn match doxygenParamDirection contained +\[\(\<in\>\|\<out\>\|,\)\+\]+ nextgroup=doxygenParamName skipwhite + syn keyword doxygenParam contained param nextgroup=doxygenParamName,doxygenParamDirection skipwhite + syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite + syn keyword doxygenRetval contained retval throw exception nextgroup=doxygenParamName skipwhite + + " Match one line identifiers. + syn keyword doxygenOther contained addindex anchor + \ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer + \ example htmlonly image include ingroup internal latexonly line + \ overload relates relatesalso sa skip skipline + \ until verbinclude version addtogroup htmlinclude copydoc dotfile + \ xmlonly endxmlonly + \ nextgroup=doxygenSpecialOnelineDesc + + syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\<code\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endcode\>+ contains=doxygenCodeRegionSpecial,doxygenContinueComment,doxygenErrorComment + syn match doxygenCodeRegionSpecial contained +[\\@]\(endcode\>\)\@=+ + + syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\<verbatim\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endverbatim\>+ contains=doxygenVerbatimRegionSpecial,doxygenContinueComment,doxygenErrorComment + syn match doxygenVerbatimRegionSpecial contained +[\\@]\(endverbatim\>\)\@=+ + + let b:doxygen_syntax_save=b:current_syntax + unlet b:current_syntax + syn include @Dotx syntax/dot.vim + let b:current_syntax=b:doxygen_syntax_save + unlet b:doxygen_syntax_save + syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\<dot\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<enddot\>+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueComment,@Dotx + syn match doxygenDotRegionSpecial contained +[\\@]\(enddot\>\)\@=+ + + " Match single line identifiers. + syn keyword doxygenBOther contained class enum file fn mainpage interface + \ namespace struct typedef union var def name + \ nextgroup=doxygenSpecialTypeOnelineDesc + + syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine + syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc + + syn keyword doxygenOther contained arg author date deprecated li return see invariant note post pre remarks since test nextgroup=doxygenSpecialMultilineDesc + syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc + syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc + syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc + + " Handle \link, \endlink, hilighting the link-to and the link text bits separately. + syn region doxygenOtherLink matchgroup=doxygenOther start=+link+ end=+[\@]\@<=endlink\>+ contained contains=doxygenLinkWord,doxygenContinueComment,doxygenLinkError,doxygenEndlinkSpecial + syn match doxygenEndlinkSpecial contained +[\\@]\zeendlink\>+ + + syn match doxygenLinkWord "[_a-zA-Z:#()][_a-z0-9A-Z:#()]*\>" contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment + syn match doxygenLinkRest +[^*@\\]\|\*/\@!\|[@\\]\(endlink\>\)\@!+ contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment + syn match doxygenContinueLinkComment contained +^\s*\*\=[^/]+me=e-1 nextgroup=doxygenLinkRest + syn match doxygenLinkError "\*/" contained + " #Link hilighting. + syn match doxygenHashLink /\([a-zA-Z_][0-9a-zA-Z_]*\)\?#\(\.[0-9a-zA-Z_]\@=\|[a-zA-Z0-9_]\+\|::\|()\)\+/ contained contains=doxygenHashSpecial + syn match doxygenHashSpecial /#/ contained + syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@]\+/ contained + + " Handle \page. This does not use doxygenBrief. + syn match doxygenPage "[\\@]page\>"me=s+1 contained skipwhite nextgroup=doxygenPagePage + syn keyword doxygenPagePage page contained skipwhite nextgroup=doxygenPageIdent + syn region doxygenPageDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenBody + syn match doxygenPageIdent "\<[a-zA-Z0-9]\+\>" contained nextgroup=doxygenPageDesc + + " Handle section + syn keyword doxygenOther defgroup section subsection subsubsection weakgroup contained skipwhite nextgroup=doxygenSpecialIdent + syn region doxygenSpecialSectionDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenContinueComment + syn match doxygenSpecialIdent "\<[a-zA-Z0-9]\+\>" contained nextgroup=doxygenSpecialSectionDesc + + " Does the one-line description for the one-line type identifiers. + syn region doxygenSpecialTypeOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend + syn region doxygenSpecialOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend + + " Handle the multiline description for the multiline type identifiers. + " Continue until an 'empty' line (can contain a '*' continuation) or until the + " next whole-line @ command \ command. + syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([pcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueComment,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup skipwhite keepend + syn match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite + + " Handle special cases 'bold' and 'group' + syn keyword doxygenBold contained bold nextgroup=doxygenSpecialHeading + syn keyword doxygenBriefWord contained brief nextgroup=doxygenBriefLine skipwhite + syn match doxygenSpecialHeading +.\++ contained skipwhite + syn keyword doxygenGroup contained group nextgroup=doxygenGroupName skipwhite + syn keyword doxygenGroupName contained +\k\++ nextgroup=doxygenSpecialOnelineDesc skipwhite + + " Handle special symbol identifiers @$, @\, @$ etc + syn match doxygenSymbol contained +[$\\&<>#]+ + + " Simplistic handling of formula regions + syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\$+ end=+[@\\]f\$+ contains=doxygenFormulaSpecial,doxygenFormulaOperator + syn match doxygenFormulaSpecial contained +[@\\]\(f[^$]\|[^f]\)+me=s+1 nextgroup=doxygenFormulaKeyword,doxygenFormulaEscaped + syn match doxygenFormulaEscaped contained "." + syn match doxygenFormulaKeyword contained "[a-z]\+" + syn match doxygenFormulaOperator contained +[_^]+ + + syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\[+ end=+[@\\]f]+ contains=doxygenFormulaSpecial,doxygenFormulaOperator,doxygenAtom + syn region doxygenAtom contained transparent matchgroup=doxygenFormulaOperator start=+{+ end=+}+ contains=doxygenAtom,doxygenFormulaSpecial,doxygenFormulaOperator + + " Add TODO hilighting. + syn keyword doxygenTODO contained TODO README XXX FIXME + + " Supported HTML subset. Not perfect, but okay. + syn case ignore + 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,doxygenContinueComment,doxygenHtmlVar + 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 + syn keyword doxygenHtmlVar contained src alt longdesc name height width usemap ismap href type nextgroup=doxygenHtmlEqu skipwhite + syn match doxygenHtmlEqu contained +=+ nextgroup=doxygenHtmlExpr skipwhite + syn match doxygenHtmlExpr contained +"\(\\.\|[^"]\)*"\|'\(\\.\|[^']\)*'+ nextgroup=doxygenHtmlVar skipwhite + syn case match + syn match doxygenHtmlSpecial contained "&\(copy\|quot\|[AEIOUYaeiouy]uml\|[AEIOUYaeiouy]acute\|[AEIOUaeiouy]grave\|[AEIOUaeiouy]circ\|[ANOano]tilde\|szlig\|[Aa]ring\|nbsp\|gt\|lt\|amp\);" + + syn cluster doxygenHtmlGroup contains=doxygenHtmlCode,doxygenHtmlBold,doxygenHtmlUnderline,doxygenHtmlItalic,doxygenHtmlSpecial,doxygenHtmlTag,doxygenHtmlLink + + syn cluster doxygenHtmlTop contains=@Spell,doxygenHtmlSpecial,doxygenHtmlTag,doxygenContinueComment + " Html Support + syn region doxygenHtmlLink contained start=+<[aA]\>\s*\(\n\s*\*\s*\)\=\(\(name\|href\)=\("[^"]*"\|'[^']*'\)\)\=\s*>+ end=+</[aA]>+me=e-4 contains=@doxygenHtmlTop + hi link doxygenHtmlLink Underlined + + syn region doxygenHtmlBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic + syn region doxygenHtmlBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic + syn region doxygenHtmlBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic + syn region doxygenHtmlBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline + syn region doxygenHtmlBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline + syn region doxygenHtmlBoldUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop + syn region doxygenHtmlBoldUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop + syn region doxygenHtmlBoldItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic + + syn region doxygenHtmlUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBold,doxygenHtmlUnderlineItalic + syn region doxygenHtmlUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic + syn region doxygenHtmlUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic + syn region doxygenHtmlUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,htmUnderlineItalicBold + syn region doxygenHtmlUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,htmUnderlineItalicBold + syn region doxygenHtmlUnderlineItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop + syn region doxygenHtmlUnderlineItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop + syn region doxygenHtmlUnderlineBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop + syn region doxygenHtmlUnderlineBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop + + syn region doxygenHtmlItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBold,doxygenHtmlItalicUnderline + syn region doxygenHtmlItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop + syn region doxygenHtmlItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline + syn region doxygenHtmlItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline + syn region doxygenHtmlItalicBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop + syn region doxygenHtmlItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicUnderlineBold + syn region doxygenHtmlItalicUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop + syn region doxygenHtmlItalicUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop + + syn region doxygenHtmlCode contained start="\c<code\>" end="\c</code>"me=e-7 contains=@doxygenHtmlTop + + " Prevent the doxygen contained matches from leaking into the c groups. + syn cluster cParenGroup add=doxygen.* + syn cluster cParenGroup remove=doxygenComment,doxygenCommentL + syn cluster cPreProcGroup add=doxygen.* + syn cluster cMultiGroup add=doxygen.* + syn cluster rcParenGroup add=doxygen.* + syn cluster rcParenGroup remove=doxygenComment,doxygenCommentL + syn cluster rcGroup add=doxygen.* + + let s:my_syncolor=0 + if !exists(':SynColor') + command -nargs=+ SynColor hi def <args> + let s:my_syncolor=1 + endif -" Now for special characters -syn match doxygenSpecial contained +[@\\]\(\<[pcbea]\>\|\<em\>\|\<ref\|\<link\>\>\|\<f\$\|[$\\&<>#]\)\@!+ nextgroup=doxygenParam,doxygenRetval,doxygenBriefWord,doxygenBold,doxygenBOther,doxygenOther,doxygenOtherTODO,doxygenOtherWARN,doxygenOtherBUG,doxygenPage,doxygenGroupDefine,doxygenCodeRegion,doxygenVerbatimRegion,doxygenDotRegion -" doxygenOtherLink,doxygenSymbol,doxygenFormula,doxygenErrorSpecial,doxygenSpecial.*Word -" -syn match doxygenGroupDefine contained +@\@<=[{}]+ -syn match doxygenGroupDefineSpecial contained +@\ze[{}]+ - -syn match doxygenErrorSpecial contained +\s+ - -" Match Parmaters and retvals (hilighting the first word as special). -syn match doxygenParamDirection contained +\[\(\<in\>\|\<out\>\|,\)\+\]+ nextgroup=doxygenParamName skipwhite -syn keyword doxygenParam contained param nextgroup=doxygenParamName,doxygenParamDirection skipwhite -syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite -syn keyword doxygenRetval contained retval throw exception nextgroup=doxygenParamName skipwhite - -" Match one line identifiers. -syn keyword doxygenOther contained addindex anchor -\ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer -\ example htmlonly image include ingroup internal latexonly line -\ overload relates relatesalso sa skip skipline -\ until verbinclude version addtogroup htmlinclude copydoc dotfile -\ xmlonly endxmlonly -\ nextgroup=doxygenSpecialOnelineDesc - -syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\<code\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endcode\>+ contains=doxygenCodeRegionSpecial,doxygenContinueComment,doxygenErrorComment -syn match doxygenCodeRegionSpecial contained +[\\@]\(endcode\>\)\@=+ - -syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\<verbatim\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endverbatim\>+ contains=doxygenVerbatimRegionSpecial,doxygenContinueComment,doxygenErrorComment -syn match doxygenVerbatimRegionSpecial contained +[\\@]\(endverbatim\>\)\@=+ - -let b:doxygen_syntax_save=b:current_syntax -unlet b:current_syntax -syn include @Dotx syntax/dot.vim -let b:current_syntax=b:doxygen_syntax_save -unlet b:doxygen_syntax_save -syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\<dot\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<enddot\>+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueComment,@Dotx -syn match doxygenDotRegionSpecial contained +[\\@]\(enddot\>\)\@=+ - -" Match single line identifiers. -syn keyword doxygenBOther contained class enum file fn mainpage interface -\ namespace struct typedef union var def name -\ nextgroup=doxygenSpecialTypeOnelineDesc - -syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine -syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc - -syn keyword doxygenOther contained arg author date deprecated li return see invariant note post pre remarks since test nextgroup=doxygenSpecialMultilineDesc -syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc -syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc -syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc - -" Handle \link, \endlink, hilighting the link-to and the link text bits separately. -syn region doxygenOtherLink matchgroup=doxygenOther start=+link+ end=+[\@]\@<=endlink\>+ contained contains=doxygenLinkWord,doxygenContinueComment,doxygenLinkError,doxygenEndlinkSpecial -syn match doxygenEndlinkSpecial contained +[\\@]\zeendlink\>+ - -syn match doxygenLinkWord "[_a-zA-Z:#()][_a-z0-9A-Z:#()]*\>" contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment -syn match doxygenLinkRest +[^*@\\]\|\*/\@!\|[@\\]\(endlink\>\)\@!+ contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment -syn match doxygenContinueLinkComment contained +^\s*\*\=[^/]+me=e-1 nextgroup=doxygenLinkRest -syn match doxygenLinkError "\*/" contained -" #Link hilighting. -syn match doxygenHashLink /\([a-zA-Z_][0-9a-zA-Z_]*\)\?#\(\.[0-9a-zA-Z_]\@=\|[a-zA-Z0-9_]\+\|::\|()\)\+/ contained contains=doxygenHashSpecial -syn match doxygenHashSpecial /#/ contained -syn match doxygenHyperLink /\(\s\|^\s*\*\?\)\@<=\(http\|https\|ftp\):\/\/[-0-9a-zA-Z_?&=+#%/.!':;@]\+/ contained - -" Handle \page. This does not use doxygenBrief. -syn match doxygenPage "[\\@]page\>"me=s+1 contained skipwhite nextgroup=doxygenPagePage -syn keyword doxygenPagePage page contained skipwhite nextgroup=doxygenPageIdent -syn region doxygenPageDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenBody -syn match doxygenPageIdent "\<[a-zA-Z0-9]\+\>" contained nextgroup=doxygenPageDesc - -" Handle section -syn keyword doxygenOther defgroup section subsection subsubsection weakgroup contained skipwhite nextgroup=doxygenSpecialIdent -syn region doxygenSpecialSectionDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenContinueComment -syn match doxygenSpecialIdent "\<[a-zA-Z0-9]\+\>" contained nextgroup=doxygenSpecialSectionDesc - -" Does the one-line description for the one-line type identifiers. -syn region doxygenSpecialTypeOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend -syn region doxygenSpecialOnelineDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend - -" Handle the multiline description for the multiline type identifiers. -" Continue until an 'empty' line (can contain a '*' continuation) or until the -" next whole-line @ command \ command. -syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([pcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueComment,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup skipwhite keepend -syn match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite - -" Handle special cases 'bold' and 'group' -syn keyword doxygenBold contained bold nextgroup=doxygenSpecialHeading -syn keyword doxygenBriefWord contained brief nextgroup=doxygenBriefLine skipwhite -syn match doxygenSpecialHeading +.\++ contained skipwhite -syn keyword doxygenGroup contained group nextgroup=doxygenGroupName skipwhite -syn keyword doxygenGroupName contained +\k\++ nextgroup=doxygenSpecialOnelineDesc skipwhite - -" Handle special symbol identifiers @$, @\, @$ etc -syn match doxygenSymbol contained +[$\\&<>#]+ - -" Simplistic handling of formula regions -syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\$+ end=+[@\\]f\$+ contains=doxygenFormulaSpecial,doxygenFormulaOperator -syn match doxygenFormulaSpecial contained +[@\\]\(f[^$]\|[^f]\)+me=s+1 nextgroup=doxygenFormulaKeyword,doxygenFormulaEscaped -syn match doxygenFormulaEscaped contained "." -syn match doxygenFormulaKeyword contained "[a-z]\+" -syn match doxygenFormulaOperator contained +[_^]+ - -syn region doxygenFormula contained matchgroup=doxygenFormulaEnds start=+f\[+ end=+[@\\]f]+ contains=doxygenFormulaSpecial,doxygenFormulaOperator,doxygenAtom -syn region doxygenAtom contained transparent matchgroup=doxygenFormulaOperator start=+{+ end=+}+ contains=doxygenAtom,doxygenFormulaSpecial,doxygenFormulaOperator - -" Add TODO hilighting. -syn keyword doxygenTODO contained TODO README XXX FIXME - -" Supported HTML subset. Not perfect, but okay. -syn case ignore -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,doxygenContinueComment,doxygenHtmlVar -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 -syn keyword doxygenHtmlVar contained src alt longdesc name height width usemap ismap href type nextgroup=doxygenHtmlEqu skipwhite -syn match doxygenHtmlEqu contained +=+ nextgroup=doxygenHtmlExpr skipwhite -syn match doxygenHtmlExpr contained +"\(\\.\|[^"]\)*"\|'\(\\.\|[^']\)*'+ nextgroup=doxygenHtmlVar skipwhite -syn case match -syn match doxygenHtmlSpecial contained "&\(copy\|quot\|[AEIOUYaeiouy]uml\|[AEIOUYaeiouy]acute\|[AEIOUaeiouy]grave\|[AEIOUaeiouy]circ\|[ANOano]tilde\|szlig\|[Aa]ring\|nbsp\|gt\|lt\|amp\);" - -syn cluster doxygenHtmlGroup contains=doxygenHtmlCode,doxygenHtmlBold,doxygenHtmlUnderline,doxygenHtmlItalic,doxygenHtmlSpecial,doxygenHtmlTag,doxygenHtmlLink - -syn cluster doxygenHtmlTop contains=@Spell,doxygenHtmlSpecial,doxygenHtmlTag,doxygenContinueComment -" Html Support -syn region doxygenHtmlLink contained start=+<[aA]\>\s*\(\n\s*\*\s*\)\=\(\(name\|href\)=\("[^"]*"\|'[^']*'\)\)\=\s*>+ end=+</[aA]>+me=e-4 contains=@doxygenHtmlTop -hi link doxygenHtmlLink Underlined - -syn region doxygenHtmlBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic -syn region doxygenHtmlBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderline,doxygenHtmlBoldItalic -syn region doxygenHtmlBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic -syn region doxygenHtmlBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline -syn region doxygenHtmlBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,doxygenHtmlBoldItalicUnderline -syn region doxygenHtmlBoldUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop -syn region doxygenHtmlBoldUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop -syn region doxygenHtmlBoldItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlBoldUnderlineItalic - -syn region doxygenHtmlUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBold,doxygenHtmlUnderlineItalic -syn region doxygenHtmlUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic -syn region doxygenHtmlUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlUnderlineBoldItalic -syn region doxygenHtmlUnderlineItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,htmUnderlineItalicBold -syn region doxygenHtmlUnderlineItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop,htmUnderlineItalicBold -syn region doxygenHtmlUnderlineItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop -syn region doxygenHtmlUnderlineItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop -syn region doxygenHtmlUnderlineBoldItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop -syn region doxygenHtmlUnderlineBoldItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop - -syn region doxygenHtmlItalic contained start="\c<i\>" end="\c</i>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBold,doxygenHtmlItalicUnderline -syn region doxygenHtmlItalic contained start="\c<em\>" end="\c</em>"me=e-5 contains=@doxygenHtmlTop -syn region doxygenHtmlItalicBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline -syn region doxygenHtmlItalicBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop,doxygenHtmlItalicBoldUnderline -syn region doxygenHtmlItalicBoldUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop -syn region doxygenHtmlItalicUnderline contained start="\c<u\>" end="\c</u>"me=e-4 contains=@doxygenHtmlTop,doxygenHtmlItalicUnderlineBold -syn region doxygenHtmlItalicUnderlineBold contained start="\c<b\>" end="\c</b>"me=e-4 contains=@doxygenHtmlTop -syn region doxygenHtmlItalicUnderlineBold contained start="\c<strong\>" end="\c</strong>"me=e-9 contains=@doxygenHtmlTop - -syn region doxygenHtmlCode contained start="\c<code\>" end="\c</code>"me=e-7 contains=@doxygenHtmlTop - -" Prevent the doxygen contained matches from leaking into the c groups. -syn cluster cParenGroup add=doxygen.* -syn cluster cParenGroup remove=doxygenComment,doxygenCommentL -syn cluster cPreProcGroup add=doxygen.* -syn cluster cMultiGroup add=doxygen.* -syn cluster rcParenGroup add=doxygen.* -syn cluster rcParenGroup remove=doxygenComment,doxygenCommentL -syn cluster rcGroup add=doxygen.* - -" Trick to force special doxygen hilighting if the background changes (need to -" syn clear first) -if !exists(':SynColor') - if exists("did_doxygen_syntax_inits") - if did_doxygen_syntax_inits != &background && synIDattr(highlightID('doxygen_Dummy'), 'fg', 'gui')=='' - command -nargs=+ SynColor hi <args> - unlet did_doxygen_syntax_inits - endif - else - command -nargs=+ SynColor hi def <args> + let s:my_synlink=0 + if !exists(':SynLink') + command -nargs=+ SynLink hi def link <args> + let s:my_synlink=1 endif -endif -if !exists("did_doxygen_syntax_inits") - command -nargs=+ SynLink hi def link <args> - let did_doxygen_syntax_inits = &background - hi doxygen_Dummy guifg=black - - fun! s:Doxygen_Hilights_Base() - SynLink doxygenHtmlSpecial Special - SynLink doxygenHtmlVar Type - SynLink doxygenHtmlExpr String - - SynLink doxygenSmallSpecial SpecialChar - - SynLink doxygenSpecialCodeWord doxygenSmallSpecial - SynLink doxygenSpecialBoldWord doxygenSmallSpecial - SynLink doxygenSpecialEmphasisedWord doxygenSmallSpecial - SynLink doxygenSpecialArgumentWord doxygenSmallSpecial - - " SynColor doxygenFormulaKeyword cterm=bold ctermfg=DarkMagenta guifg=DarkMagenta gui=bold - SynLink doxygenFormulaKeyword Keyword - "SynColor doxygenFormulaEscaped ctermfg=DarkMagenta guifg=DarkMagenta gui=bold - SynLink doxygenFormulaEscaped Special - SynLink doxygenFormulaOperator Operator - SynLink doxygenFormula Statement - SynLink doxygenSymbol Constant - SynLink doxygenSpecial Special - SynLink doxygenFormulaSpecial Special - "SynColor doxygenFormulaSpecial ctermfg=DarkBlue guifg=DarkBlue - endfun - call s:Doxygen_Hilights_Base() - - fun! s:Doxygen_Hilights() - " Pick a sensible default for 'codeword'. - let font='' - if exists('g:doxygen_codeword_font') - if g:doxygen_codeword_font !~ '\<\k\+=' - let font='font='.g:doxygen_codeword_font + try + "let did_doxygen_syntax_inits = &background + hi doxygen_Dummy guifg=black + + fun! s:Doxygen_Hilights_Base() + SynLink doxygenHtmlSpecial Special + SynLink doxygenHtmlVar Type + SynLink doxygenHtmlExpr String + + SynLink doxygenSmallSpecial SpecialChar + + SynLink doxygenSpecialCodeWord doxygenSmallSpecial + SynLink doxygenSpecialBoldWord doxygenSmallSpecial + SynLink doxygenSpecialEmphasisedWord doxygenSmallSpecial + SynLink doxygenSpecialArgumentWord doxygenSmallSpecial + + " SynColor doxygenFormulaKeyword cterm=bold ctermfg=DarkMagenta guifg=DarkMagenta gui=bold + SynLink doxygenFormulaKeyword Keyword + "SynColor doxygenFormulaEscaped ctermfg=DarkMagenta guifg=DarkMagenta gui=bold + SynLink doxygenFormulaEscaped Special + SynLink doxygenFormulaOperator Operator + SynLink doxygenFormula Statement + SynLink doxygenSymbol Constant + SynLink doxygenSpecial Special + SynLink doxygenFormulaSpecial Special + "SynColor doxygenFormulaSpecial ctermfg=DarkBlue guifg=DarkBlue + endfun + call s:Doxygen_Hilights_Base() + + fun! s:Doxygen_Hilights() + " Pick a sensible default for 'codeword'. + let font='' + if exists('g:doxygen_codeword_font') + if g:doxygen_codeword_font !~ '\<\k\+=' + let font='font='.g:doxygen_codeword_font + else + let font=g:doxygen_codeword_font + endif else - let font=g:doxygen_codeword_font - endif - else - " Try and pick a font (only some platforms have been tested). - if has('gui_running') - if has('gui_gtk2') - if &guifont == '' - let font="font='FreeSerif 12'" - else - let font="font='".substitute(&guifont, '^.\{-}\([0-9]\+\)$', 'FreeSerif \1','')."'" - endif - - elseif has('gui_win32') || has('gui_win16') || has('gui_win95') - if &guifont == '' - let font='font=Lucida_Console:h10' - else - let font='font='.substitute(&guifont, '^[^:]*', 'Lucida_Console','') - endif - elseif has('gui_athena') || has('gui_gtk') || &guifont=~'^\(-[^-]\+\)\{14}' - if &guifont == '' - let font='font=-b&h-lucidatypewriter-medium-r-normal-*-*-140-*-*-m-*-iso8859-1' - else - " let font='font='.substitute(&guifont,'^\(-[^-]\+\)\{7}-\([0-9]\+\).*', '-b\&h-lucidatypewriter-medium-r-normal-*-*-\2-*-*-m-*-iso8859-1','') - " The above line works, but it is hard to expect the combination of - " the two fonts will look good. + " Try and pick a font (only some platforms have been tested). + if has('gui_running') + if has('gui_gtk2') + if &guifont == '' + let font="font='FreeSerif 12'" + else + let font="font='".substitute(&guifont, '^.\{-}\([0-9]\+\)$', 'FreeSerif \1','')."'" + endif + + elseif has('gui_win32') || has('gui_win16') || has('gui_win95') + if &guifont == '' + let font='font=Lucida_Console:h10' + else + let font='font='.substitute(&guifont, '^[^:]*', 'Lucida_Console','') + endif + elseif has('gui_athena') || has('gui_gtk') || &guifont=~'^\(-[^-]\+\)\{14}' + if &guifont == '' + let font='font=-b&h-lucidatypewriter-medium-r-normal-*-*-140-*-*-m-*-iso8859-1' + else + " let font='font='.substitute(&guifont,'^\(-[^-]\+\)\{7}-\([0-9]\+\).*', '-b\&h-lucidatypewriter-medium-r-normal-*-*-\2-*-*-m-*-iso8859-1','') + " The above line works, but it is hard to expect the combination of + " the two fonts will look good. + endif + elseif has('gui_kde') + " let font='font=Bitstream\ Vera\ Sans\ Mono/12/-1/5/50/0/0/0/0/0' endif - elseif has('gui_kde') - " let font='font=Bitstream\ Vera\ Sans\ Mono/12/-1/5/50/0/0/0/0/0' endif endif - endif - if font=='' | let font='gui=bold' | endif - exe 'SynColor doxygenCodeWord term=bold cterm=bold '.font - if (exists('g:doxygen_enhanced_color') && g:doxygen_enhanced_color) || (exists('g:doxygen_enhanced_colour') && g:doxygen_enhanced_colour) - if &background=='light' - SynColor doxygenComment ctermfg=DarkRed guifg=DarkRed - SynColor doxygenBrief cterm=bold ctermfg=Cyan guifg=DarkBlue gui=bold - SynColor doxygenBody ctermfg=DarkBlue guifg=DarkBlue - SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=DarkRed guifg=firebrick3 gui=bold - SynColor doxygenBOther cterm=bold ctermfg=DarkMagenta guifg=#aa50aa gui=bold - SynColor doxygenParam ctermfg=DarkGray guifg=#aa50aa - SynColor doxygenParamName cterm=italic ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=italic,bold - SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=DarkCyan guifg=DodgerBlue3 gui=bold - SynColor doxygenSpecialHeading cterm=bold ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=bold - SynColor doxygenPrev ctermfg=DarkGreen guifg=DarkGreen + if font=='' | let font='gui=bold' | endif + exe 'SynColor doxygenCodeWord term=bold cterm=bold '.font + if (exists('g:doxygen_enhanced_color') && g:doxygen_enhanced_color) || (exists('g:doxygen_enhanced_colour') && g:doxygen_enhanced_colour) + if &background=='light' + SynColor doxygenComment ctermfg=DarkRed guifg=DarkRed + SynColor doxygenBrief cterm=bold ctermfg=Cyan guifg=DarkBlue gui=bold + SynColor doxygenBody ctermfg=DarkBlue guifg=DarkBlue + SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=DarkRed guifg=firebrick3 gui=bold + SynColor doxygenBOther cterm=bold ctermfg=DarkMagenta guifg=#aa50aa gui=bold + SynColor doxygenParam ctermfg=DarkGray guifg=#aa50aa + SynColor doxygenParamName cterm=italic ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=italic,bold + SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=DarkCyan guifg=DodgerBlue3 gui=bold + SynColor doxygenSpecialHeading cterm=bold ctermfg=DarkBlue guifg=DeepSkyBlue4 gui=bold + SynColor doxygenPrev ctermfg=DarkGreen guifg=DarkGreen + else + SynColor doxygenComment ctermfg=LightRed guifg=LightRed + SynColor doxygenBrief cterm=bold ctermfg=Cyan ctermbg=darkgrey guifg=LightBlue gui=Bold,Italic + SynColor doxygenBody ctermfg=Cyan guifg=LightBlue + SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=Red guifg=firebrick3 gui=bold + SynColor doxygenBOther cterm=bold ctermfg=Magenta guifg=#aa50aa gui=bold + SynColor doxygenParam ctermfg=LightGray guifg=LightGray + SynColor doxygenParamName cterm=italic ctermfg=LightBlue guifg=LightBlue gui=italic,bold + SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=LightCyan guifg=LightCyan gui=bold + SynColor doxygenSpecialHeading cterm=bold ctermfg=LightBlue guifg=LightBlue gui=bold + SynColor doxygenPrev ctermfg=LightGreen guifg=LightGreen + endif else - SynColor doxygenComment ctermfg=LightRed guifg=LightRed - SynColor doxygenBrief cterm=bold ctermfg=Cyan ctermbg=darkgrey guifg=LightBlue gui=Bold,Italic - SynColor doxygenBody ctermfg=Cyan guifg=LightBlue - SynColor doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=Red guifg=firebrick3 gui=bold - SynColor doxygenBOther cterm=bold ctermfg=Magenta guifg=#aa50aa gui=bold - SynColor doxygenParam ctermfg=LightGray guifg=LightGray - SynColor doxygenParamName cterm=italic ctermfg=LightBlue guifg=LightBlue gui=italic,bold - SynColor doxygenSpecialOnelineDesc cterm=bold ctermfg=LightCyan guifg=LightCyan gui=bold - SynColor doxygenSpecialHeading cterm=bold ctermfg=LightBlue guifg=LightBlue gui=bold - SynColor doxygenPrev ctermfg=LightGreen guifg=LightGreen + SynLink doxygenComment SpecialComment + SynLink doxygenBrief Statement + SynLink doxygenBody Comment + SynLink doxygenSpecialTypeOnelineDesc Statement + SynLink doxygenBOther Constant + SynLink doxygenParam SpecialComment + SynLink doxygenParamName Underlined + SynLink doxygenSpecialOnelineDesc Statement + SynLink doxygenSpecialHeading Statement + SynLink doxygenPrev SpecialComment endif - else - SynLink doxygenComment SpecialComment - SynLink doxygenBrief Statement - SynLink doxygenBody Comment - SynLink doxygenSpecialTypeOnelineDesc Statement - SynLink doxygenBOther Constant - SynLink doxygenParam SpecialComment - SynLink doxygenParamName Underlined - SynLink doxygenSpecialOnelineDesc Statement - SynLink doxygenSpecialHeading Statement - SynLink doxygenPrev SpecialComment + endfun + + call s:Doxygen_Hilights() + + " This is still a proposal, but won't do any harm. + aug doxygengroup + au! + au Syntax UserColor_reset nested call s:Doxygen_Hilights_Base() + au Syntax UserColor_{on,reset,enable} nested call s:Doxygen_Hilights() + aug END + + + SynLink doxygenBody Comment + SynLink doxygenTODO Todo + SynLink doxygenOtherTODO Todo + SynLink doxygenOtherWARN Todo + SynLink doxygenOtherBUG Todo + + SynLink doxygenErrorSpecial Error + SynLink doxygenErrorEnd Error + SynLink doxygenErrorComment Error + SynLink doxygenLinkError Error + SynLink doxygenBriefSpecial doxygenSpecial + SynLink doxygenHashSpecial doxygenSpecial + SynLink doxygenGroupDefineSpecial doxygenSpecial + SynLink doxygenEndlinkSpecial doxygenSpecial + SynLink doxygenCodeRegionSpecial doxygenSpecial + SynLink doxygenVerbatimRegionSpecial doxygenSpecial + SynLink doxygenGroupDefine doxygenParam + + SynLink doxygenSpecialMultilineDesc doxygenSpecialOnelineDesc + SynLink doxygenFormulaEnds doxygenSpecial + SynLink doxygenBold doxygenParam + SynLink doxygenBriefWord doxygenParam + SynLink doxygenRetval doxygenParam + SynLink doxygenOther doxygenParam + SynLink doxygenStart doxygenComment + SynLink doxygenStart2 doxygenStart + SynLink doxygenComment2 doxygenComment + SynLink doxygenCommentL doxygenComment + SynLink doxygenContinueComment doxygenComment + SynLink doxygenSpecialContinueComment doxygenComment + SynLink doxygenSkipComment doxygenComment + SynLink doxygenEndComment doxygenComment + SynLink doxygenStartL doxygenComment + SynLink doxygenBriefEndComment doxygenComment + SynLink doxygenPrevL doxygenPrev + SynLink doxygenBriefL doxygenBrief + SynLink doxygenBriefLine doxygenBrief + SynLink doxygenHeaderLine doxygenSpecialHeading + SynLink doxygenStartSkip doxygenContinueComment + SynLink doxygenLinkWord doxygenParamName + SynLink doxygenLinkRest doxygenSpecialMultilineDesc + SynLink doxygenHyperLink doxygenLinkWord + SynLink doxygenHashLink doxygenLinkWord + + SynLink doxygenPage doxygenSpecial + SynLink doxygenPagePage doxygenBOther + SynLink doxygenPageIdent doxygenParamName + SynLink doxygenPageDesc doxygenSpecialTypeOnelineDesc + + SynLink doxygenSpecialIdent doxygenPageIdent + SynLink doxygenSpecialSectionDesc doxygenSpecialMultilineDesc + + SynLink doxygenSpecialRefWord doxygenOther + SynLink doxygenRefWord doxygenPageIdent + SynLink doxygenContinueLinkComment doxygenComment + + SynLink doxygenHtmlCh Function + SynLink doxygenHtmlCmd Statement + SynLink doxygenHtmlBoldItalicUnderline doxygenHtmlBoldUnderlineItalic + SynLink doxygenHtmlUnderlineBold doxygenHtmlBoldUnderline + SynLink doxygenHtmlUnderlineItalicBold doxygenHtmlBoldUnderlineItalic + SynLink doxygenHtmlUnderlineBoldItalic doxygenHtmlBoldUnderlineItalic + SynLink doxygenHtmlItalicUnderline doxygenHtmlUnderlineItalic + SynLink doxygenHtmlItalicBold doxygenHtmlBoldItalic + SynLink doxygenHtmlItalicBoldUnderline doxygenHtmlBoldUnderlineItalic + SynLink doxygenHtmlItalicUnderlineBold doxygenHtmlBoldUnderlineItalic + SynLink doxygenHtmlLink Underlined + + SynLink doxygenParamDirection StorageClass + + + if !exists("doxygen_my_rendering") && !exists("html_my_rendering") + SynColor doxygenBoldWord term=bold cterm=bold gui=bold + SynColor doxygenEmphasisedWord term=italic cterm=italic gui=italic + SynLink doxygenArgumentWord doxygenEmphasisedWord + SynLink doxygenHtmlCode doxygenCodeWord + SynLink doxygenHtmlBold doxygenBoldWord + SynColor doxygenHtmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline + SynColor doxygenHtmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic + SynColor doxygenHtmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline + SynColor doxygenHtmlUnderline term=underline cterm=underline gui=underline + SynColor doxygenHtmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline + SynColor doxygenHtmlItalic term=italic cterm=italic gui=italic endif - endfun - fun! s:Doxygen_ResetSyntax() - if exists("did_doxygen_syntax_inits") - unlet did_doxygen_syntax_inits - endif - endfun - call s:Doxygen_Hilights() - " This is still a proposal, but won't do any harm. - au Syntax UserColor_reset nested call s:Doxygen_Hilights_Base() - au Syntax UserColor_{on,reset,enable} nested call s:Doxygen_Hilights() - "au User Syntax_UserColor_off nested call s:Doxygen_ResetSyntax() - - - SynLink doxygenBody Comment - SynLink doxygenTODO Todo - SynLink doxygenOtherTODO Todo - SynLink doxygenOtherWARN Todo - SynLink doxygenOtherBUG Todo - - SynLink doxygenErrorSpecial Error - SynLink doxygenErrorEnd Error - SynLink doxygenErrorComment Error - SynLink doxygenLinkError Error - SynLink doxygenBriefSpecial doxygenSpecial - SynLink doxygenHashSpecial doxygenSpecial - SynLink doxygenGroupDefineSpecial doxygenSpecial - SynLink doxygenEndlinkSpecial doxygenSpecial - SynLink doxygenCodeRegionSpecial doxygenSpecial - SynLink doxygenVerbatimRegionSpecial doxygenSpecial - SynLink doxygenGroupDefine doxygenParam - - SynLink doxygenSpecialMultilineDesc doxygenSpecialOnelineDesc - SynLink doxygenFormulaEnds doxygenSpecial - SynLink doxygenBold doxygenParam - SynLink doxygenBriefWord doxygenParam - SynLink doxygenRetval doxygenParam - SynLink doxygenOther doxygenParam - SynLink doxygenStart doxygenComment - SynLink doxygenStart2 doxygenStart - SynLink doxygenComment2 doxygenComment - SynLink doxygenCommentL doxygenComment - SynLink doxygenContinueComment doxygenComment - SynLink doxygenSpecialContinueComment doxygenComment - SynLink doxygenSkipComment doxygenComment - SynLink doxygenEndComment doxygenComment - SynLink doxygenStartL doxygenComment - SynLink doxygenBriefEndComment doxygenComment - SynLink doxygenPrevL doxygenPrev - SynLink doxygenBriefL doxygenBrief - SynLink doxygenBriefLine doxygenBrief - SynLink doxygenHeaderLine doxygenSpecialHeading - SynLink doxygenStartSkip doxygenContinueComment - SynLink doxygenLinkWord doxygenParamName - SynLink doxygenLinkRest doxygenSpecialMultilineDesc - SynLink doxygenHyperLink doxygenLinkWord - SynLink doxygenHashLink doxygenLinkWord - - SynLink doxygenPage doxygenSpecial - SynLink doxygenPagePage doxygenBOther - SynLink doxygenPageIdent doxygenParamName - SynLink doxygenPageDesc doxygenSpecialTypeOnelineDesc - - SynLink doxygenSpecialIdent doxygenPageIdent - SynLink doxygenSpecialSectionDesc doxygenSpecialMultilineDesc - - SynLink doxygenSpecialRefWord doxygenOther - SynLink doxygenRefWord doxygenPageIdent - SynLink doxygenContinueLinkComment doxygenComment - - SynLink doxygenHtmlCh Function - SynLink doxygenHtmlCmd Statement - SynLink doxygenHtmlBoldItalicUnderline doxygenHtmlBoldUnderlineItalic - SynLink doxygenHtmlUnderlineBold doxygenHtmlBoldUnderline - SynLink doxygenHtmlUnderlineItalicBold doxygenHtmlBoldUnderlineItalic - SynLink doxygenHtmlUnderlineBoldItalic doxygenHtmlBoldUnderlineItalic - SynLink doxygenHtmlItalicUnderline doxygenHtmlUnderlineItalic - SynLink doxygenHtmlItalicBold doxygenHtmlBoldItalic - SynLink doxygenHtmlItalicBoldUnderline doxygenHtmlBoldUnderlineItalic - SynLink doxygenHtmlItalicUnderlineBold doxygenHtmlBoldUnderlineItalic - SynLink doxygenHtmlLink Underlined - - SynLink doxygenParamDirection StorageClass - - - if !exists("doxygen_my_rendering") && !exists("html_my_rendering") - SynColor doxygenBoldWord term=bold cterm=bold gui=bold - SynColor doxygenEmphasisedWord term=italic cterm=italic gui=italic - SynLink doxygenArgumentWord doxygenEmphasisedWord - SynLink doxygenHtmlCode doxygenCodeWord - SynLink doxygenHtmlBold doxygenBoldWord - SynColor doxygenHtmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline - SynColor doxygenHtmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic - SynColor doxygenHtmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline - SynColor doxygenHtmlUnderline term=underline cterm=underline gui=underline - SynColor doxygenHtmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline - SynColor doxygenHtmlItalic term=italic cterm=italic gui=italic + finally + if s:my_synlink | delcommand SynLink | endif + if s:my_syncolor | delcommand SynColor | endif + endtry + + if &syntax=='idl' + syn cluster idlCommentable add=doxygenComment,doxygenCommentL endif - delcommand SynLink - delcommand SynColor -endif -if &syntax=='idl' - syn cluster idlCommentable add=doxygenComment,doxygenCommentL -endif + "syn sync clear + "syn sync maxlines=500 + "syn sync minlines=50 + syn sync match doxygenComment groupthere cComment "/\@<!/\*" + syn sync match doxygenSyncComment grouphere doxygenComment "/\@<!/\*[*!]" + "syn sync match doxygenSyncComment grouphere doxygenComment "/\*[*!]" contains=doxygenStart,doxygenTODO keepend + syn sync match doxygenSyncEndComment groupthere NONE "\*/" -"syn sync clear -"syn sync maxlines=500 -"syn sync minlines=50 -if v:version >= 600 -syn sync match doxygenComment groupthere cComment "/\@<!/\*" -syn sync match doxygenSyncComment grouphere doxygenComment "/\@<!/\*[*!]" -else -syn sync match doxygencComment groupthere cComment "/\*" -syn sync match doxygenSyncComment grouphere doxygenComment "/\*[*!]" -endif -"syn sync match doxygenSyncComment grouphere doxygenComment "/\*[*!]" contains=doxygenStart,doxygenTODO keepend -syn sync match doxygenSyncEndComment groupthere NONE "\*/" + if !exists('b:current_syntax') + let b:current_syntax = "doxygen" + else + let b:current_syntax = b:current_syntax.'.doxygen' + endif -if !exists('b:current_syntax') - let b:current_syntax = "doxygen" -else - let b:current_syntax = b:current_syntax.'.doxygen' -endif +finally + let &cpo = s:cpo_save + unlet s:cpo_save +endtry -let &cpo = s:cpo_save -unlet s:cpo_save " vim:et sw=2 sts=2 |