|
|
@ -2,11 +2,10 @@
|
|
|
|
" Language: doxygen on top of c, cpp, idl, java, php
|
|
|
|
" Language: doxygen on top of c, cpp, idl, java, php
|
|
|
|
" Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net>
|
|
|
|
" Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net>
|
|
|
|
" Author: Michael Geddes
|
|
|
|
" Author: Michael Geddes
|
|
|
|
" Last Changes: Jan 2009 (\tparam by Domnique Pelle, Aug 2013)
|
|
|
|
" Last Change: November 2017 (\throws by Candy Gumdrop)
|
|
|
|
" Nov 2017 (@throws by Domnique Pelle)
|
|
|
|
" Version: 1.27
|
|
|
|
" Version: 1.23
|
|
|
|
|
|
|
|
"
|
|
|
|
"
|
|
|
|
" Copyright 2004-2008 Michael Geddes
|
|
|
|
" Copyright 2004-2017 Michael Geddes
|
|
|
|
" Please feel free to use, modify & distribute all or part of this script,
|
|
|
|
" Please feel free to use, modify & distribute all or part of this script,
|
|
|
|
" providing this copyright message remains.
|
|
|
|
" providing this copyright message remains.
|
|
|
|
" I would appreciate being acknowledged in any derived scripts, and would
|
|
|
|
" I would appreciate being acknowledged in any derived scripts, and would
|
|
|
@ -59,52 +58,76 @@ try
|
|
|
|
"
|
|
|
|
"
|
|
|
|
|
|
|
|
|
|
|
|
" C/C++ Style line comments
|
|
|
|
" C/C++ Style line comments
|
|
|
|
syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend fold containedin=phpRegion
|
|
|
|
syn match doxygenCommentWhite +\s*\ze/\*\(\*/\)\@![*!]+ containedin=phpRegion
|
|
|
|
syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenStartL,@Spell keepend skipwhite skipnl nextgroup=doxygenComment2 fold containedin=phpRegion
|
|
|
|
syn match doxygenCommentWhite +\s*\ze//[/!]+ containedin=phpRegion
|
|
|
|
|
|
|
|
syn match doxygenCommentWhite +\s*\ze/\*\(\*/\)\@![*!]+
|
|
|
|
|
|
|
|
syn match doxygenCommentWhite +\s*\ze//[/!]+ containedin=phpRegion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
syn region doxygenComment start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contains=doxygenSyncStart,doxygenStart,doxygenTODO,doxygenLeadingWhite keepend fold containedin=phpRegion
|
|
|
|
|
|
|
|
syn region doxygenCommentL start=+//[/!]<\@!+me=e-1 end=+$+ contains=doxygenLeadingLWhite,doxygenStartL,@Spell keepend skipwhite skipnl nextgroup=doxygenCommentWhite2 fold containedin=phpRegion
|
|
|
|
syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL,@Spell keepend skipwhite skipnl fold containedin=phpRegion
|
|
|
|
syn region doxygenCommentL start=+//[/!]<+me=e-2 end=+$+ contains=doxygenStartL,@Spell keepend skipwhite skipnl fold containedin=phpRegion
|
|
|
|
syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion
|
|
|
|
syn region doxygenCommentL start=+//@\ze[{}]+ end=+$+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion
|
|
|
|
|
|
|
|
syn region doxygenComment start=+/\*@\ze[{}]+ end=+\*/+ contains=doxygenGroupDefine,doxygenGroupDefineSpecial,@Spell fold containedin=phpRegion
|
|
|
|
|
|
|
|
|
|
|
|
" Single line brief followed by multiline comment.
|
|
|
|
" Single line brief followed by multiline comment.
|
|
|
|
|
|
|
|
syn match doxygenCommentWhite2 +\_s*\ze/\*\(\*/\)\@![*!]+ contained nextgroup=doxygenComment2
|
|
|
|
syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend fold
|
|
|
|
syn region doxygenComment2 start=+/\*\(\*/\)\@![*!]+ end=+\*/+ contained contains=doxygenSyncStart2,doxygenStart2,doxygenTODO keepend fold
|
|
|
|
" This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched.
|
|
|
|
" 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
|
|
|
|
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.
|
|
|
|
" 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*\*[^/]+me=e-1 contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkipWhite skipwhite skipnl
|
|
|
|
syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,,doxygenStartSkip skipwhite skipnl
|
|
|
|
syn match doxygenStartSkip2 +^\s*\*$+ contained nextgroup=doxygenBody,doxygenStartSpecial,doxygenStartSkipWhite skipwhite skipnl
|
|
|
|
syn match doxygenStart2 +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenStartSkip2 skipwhite skipnl
|
|
|
|
syn match doxygenStart2 +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenStartSpecial,doxygenStartSkip2 skipwhite skipnl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Match the Starting pattern (effectively creating the start of a BNF)
|
|
|
|
" Match the Starting pattern (effectively creating the start of a BNF)
|
|
|
|
if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief
|
|
|
|
if !exists('g:doxygen_javadoc_autobrief') || g:doxygen_javadoc_autobrief
|
|
|
|
syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
|
|
|
|
syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
|
|
|
syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial skipwhite
|
|
|
|
syn match doxygenLeadingLWhite +\s\++ contained nextgroup=doxygenPrevL,doxygenBriefL,doxygenSpecial
|
|
|
|
|
|
|
|
syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenLeaingLWhite,doxygenPrevL,doxygenBriefL,doxygenSpecial
|
|
|
|
" Match the first sentence as a brief comment
|
|
|
|
" Match the first sentence as a brief comment
|
|
|
|
if ! exists('g:doxygen_end_punctuation')
|
|
|
|
if ! exists('g:doxygen_end_punctuation')
|
|
|
|
let g:doxygen_end_punctuation='[.]'
|
|
|
|
let g:doxygen_end_punctuation='[.]'
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
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,doxygenContinueComment,doxygenBriefEndComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipnl nextgroup=doxygenBody'
|
|
|
|
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'
|
|
|
|
|
|
|
|
|
|
|
|
syn match doxygenBriefEndComment +\*/+ contained
|
|
|
|
syn match doxygenBriefEndComment +\*/+ contained
|
|
|
|
|
|
|
|
|
|
|
|
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'
|
|
|
|
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'
|
|
|
|
syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite
|
|
|
|
syn match doxygenPrevL +<+ contained nextgroup=doxygenBriefL,doxygenSpecial skipwhite
|
|
|
|
else
|
|
|
|
else
|
|
|
|
syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
|
|
|
|
syn match doxygenStart +/\*[*!]+ contained nextgroup=doxygenBody,doxygenPrev,doxygenFindBriefSpecial,doxygenStartSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
|
|
|
syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenPrevL,doxygenLine,doxygenSpecial skipwhite
|
|
|
|
syn match doxygenStartL +//[/!]+ contained nextgroup=doxygenLeadingLWhite,doxygenPrevL,doxygenLine,doxygenSpecial
|
|
|
|
|
|
|
|
syn match doxygenLeadingLWhite +\s\++ contained nextgroup=doxygenPrevL,doxygenLine,doxygenSpecial
|
|
|
|
syn region doxygenLine start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@<]+ start=+\<+ end='$' contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend
|
|
|
|
syn region doxygenLine start=+@\k\@!\|[\\@]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@<]+ start=+\<+ end='$' contained contains=doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell keepend
|
|
|
|
syn match doxygenPrevL +<+ contained nextgroup=doxygenLine,doxygenSpecial skipwhite
|
|
|
|
syn match doxygenPrevL +<+ contained nextgroup=doxygenLine,doxygenSpecial skipwhite
|
|
|
|
|
|
|
|
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
" This helps with sync-ing as for some reason, syncing behaves differently to a normal region, and the start pattern does not get matched.
|
|
|
|
" 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 doxygenSyncStart +\ze[^*/]+ contained nextgroup=doxygenBrief,doxygenPrev,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
|
|
|
|
|
|
|
" 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*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained
|
|
|
|
|
|
|
|
syn region doxygenFindBriefSpecial start=+[@\\]brief\>+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+
|
|
|
|
|
|
|
|
"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
|
|
|
|
|
|
|
|
syn region doxygenBriefLine contained start=+\<\k+ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ skipwhite keepend matchgroup=xxx
|
|
|
|
|
|
|
|
" syn region doxygenBriefLine matchgroup=xxxy contained start=+\<\k.\++ skip=+^\s*\k+ end=+end+ skipwhite keepend
|
|
|
|
|
|
|
|
"doxygenFindBriefSpecial,
|
|
|
|
|
|
|
|
"" syn region doxygenSpecialMultilineDesc start=+.\++ contained contains=doxygenSpecialContinueCommentWhite,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend
|
|
|
|
|
|
|
|
|
|
|
|
syn region doxygenBriefLine contained start=+\<\k+ end=+\(\n\s*\*\=\s*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ contains=doxygenContinueComment,doxygenFindBriefSpecial,doxygenSmallSpecial,@doxygenHtmlGroup,doxygenTODO,doxygenHyperLink,doxygenHashLink,@Spell skipwhite keepend
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Match a '<' for applying a comment to the previous element.
|
|
|
|
" Match a '<' for applying a comment to the previous element.
|
|
|
|
syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenBody,doxygenSpecial,doxygenStartSkip skipwhite
|
|
|
|
syn match doxygenPrev +<+ contained nextgroup=doxygenBrief,doxygenBody,doxygenSpecial,doxygenStartSkipWhite skipwhite
|
|
|
|
|
|
|
|
|
|
|
|
if exists("c_comment_strings")
|
|
|
|
if exists("c_comment_strings")
|
|
|
|
" These are anti-Doxygen comments. If there are more than two asterisks or 3 '/'s
|
|
|
|
" These are anti-Doxygen comments. If there are more than two asterisks or 3 '/'s
|
|
|
@ -123,10 +146,11 @@ endif
|
|
|
|
"syn region doxygenBodyBit contained start=+$+
|
|
|
|
"syn region doxygenBodyBit contained start=+$+
|
|
|
|
|
|
|
|
|
|
|
|
" The main body of a doxygen comment.
|
|
|
|
" 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,@Spell
|
|
|
|
syn region doxygenBody contained start=+\(/\*[*!]\)\@<!<\|[^<]\|$+ matchgroup=doxygenEndComment end=+\*/+re=e-2,me=e-2 contains=doxygenContinueCommentWhite,doxygenTODO,doxygenSpecial,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell
|
|
|
|
|
|
|
|
|
|
|
|
" These allow the skipping of comment continuation '*' characters.
|
|
|
|
" These allow the skipping of comment continuation '*' characters.
|
|
|
|
syn match doxygenContinueComment contained +^\s*\*/\@!\s*+
|
|
|
|
syn match doxygenContinueCommentWhite contained +^\s*\ze\*+ nextgroup=doxygenContinueComment
|
|
|
|
|
|
|
|
syn match doxygenContinueComment contained +\*/\@!+
|
|
|
|
|
|
|
|
|
|
|
|
" Catch a Brief comment without punctuation - flag it as an error but
|
|
|
|
" Catch a Brief comment without punctuation - flag it as an error but
|
|
|
|
" make sure the end comment is picked up also.
|
|
|
|
" make sure the end comment is picked up also.
|
|
|
@ -135,27 +159,19 @@ endif
|
|
|
|
|
|
|
|
|
|
|
|
" Skip empty lines at the start for when comments start on the 2nd/3rd line.
|
|
|
|
" 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
|
|
|
|
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 doxygenStartSkipWhite +^\s*\ze\*/\@!+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
|
|
|
syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage skipwhite skipnl
|
|
|
|
"syn match doxygenStartSkipWhite +^\s*\ze\*$+ contained nextgroup=doxygenBrief,doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage skipwhite skipnl
|
|
|
|
else
|
|
|
|
else
|
|
|
|
syn match doxygenStartSkip +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl
|
|
|
|
syn match doxygenStartSkipWhite +^\s*\*[^/]+me=e-1 contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage,doxygenBody skipwhite skipnl
|
|
|
|
syn match doxygenStartSkip +^\s*\*$+ contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkip,doxygenPage,doxygenBody skipwhite skipnl
|
|
|
|
syn match doxygenStartSkipWhite +^\s*\*$+ contained nextgroup=doxygenStartSpecial,doxygenFindBriefSpecial,doxygenStartSkipWhite,doxygenPage,doxygenBody skipwhite skipnl
|
|
|
|
endif
|
|
|
|
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*\([@\\]\([npcbea]\>\|em\>\|ref\>\|link\>\|f\$\|[$\\&<>#]\)\@!\)\|\s*$\)\@=+ keepend contains=doxygenBriefSpecial nextgroup=doxygenBody keepend skipwhite skipnl contained
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Create the single word matching special identifiers.
|
|
|
|
" Create the single word matching special identifiers.
|
|
|
|
|
|
|
|
|
|
|
|
fun! s:DxyCreateSmallSpecial( kword, name )
|
|
|
|
fun! s:DxyCreateSmallSpecial( kword, name )
|
|
|
|
|
|
|
|
|
|
|
|
let mx='[-:0-9A-Za-z_%=&+*/!~>|]\@<!\([-0-9A-Za-z_%=+*/!~>|#]\+[-0-9A-Za-z_%=+*/!~>|]\@!\|\\[\\<>&.]@\|[.,][0-9a-zA-Z_]\@=\|::\|([^)]*)\|&[0-9a-zA-Z]\{2,7};\)\+'
|
|
|
|
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 region doxygenSpecial'.a:name.'Word contained start=+'.a:kword.'+ end=+\(\_s\+'.mx.'\)\@<=[-a-zA-Z_0-9+*/^%|~!=&\\]\@!+ skipwhite contains=doxygenContinueCommentWhite,doxygen'.a:name.'Word'
|
|
|
|
exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial,@Spell keepend'
|
|
|
|
exe 'syn match doxygen'.a:name.'Word contained "\_s\@<='.mx.'" contains=doxygenHtmlSpecial,@Spell keepend'
|
|
|
|
endfun
|
|
|
|
endfun
|
|
|
|
call s:DxyCreateSmallSpecial('p', 'Code')
|
|
|
|
call s:DxyCreateSmallSpecial('p', 'Code')
|
|
|
@ -180,23 +196,25 @@ endif
|
|
|
|
|
|
|
|
|
|
|
|
" Match parameters and retvals (highlighting the first word as special).
|
|
|
|
" Match parameters and retvals (highlighting the first word as special).
|
|
|
|
syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite
|
|
|
|
syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite
|
|
|
|
syn keyword doxygenParam contained param tparam nextgroup=doxygenParamName,doxygenParamDirection skipwhite
|
|
|
|
syn keyword doxygenParam contained param nextgroup=doxygenParamName,doxygenParamDirection skipwhite
|
|
|
|
|
|
|
|
syn keyword doxygenTParam contained tparam nextgroup=doxygenParamName skipwhite
|
|
|
|
syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite
|
|
|
|
syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite
|
|
|
|
syn keyword doxygenRetval contained retval throw throws exception nextgroup=doxygenParamName skipwhite
|
|
|
|
syn keyword doxygenRetval contained retval throw throws exception nextgroup=doxygenParamName skipwhite
|
|
|
|
|
|
|
|
|
|
|
|
" Match one line identifiers.
|
|
|
|
" Match one line identifiers.
|
|
|
|
syn keyword doxygenOther contained addindex anchor
|
|
|
|
syn keyword doxygenOther contained addindex anchor
|
|
|
|
\ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer
|
|
|
|
\ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer
|
|
|
|
\ example htmlonly image include ingroup internal latexonly line
|
|
|
|
\ example htmlonly image include includelineno ingroup internal latexonly line
|
|
|
|
\ overload related relates relatedalso relatesalso sa skip skipline
|
|
|
|
\ overload relates relatesalso sa skip skipline
|
|
|
|
\ until verbinclude version addtogroup htmlinclude copydoc dotfile
|
|
|
|
\ until verbinclude version addtogroup htmlinclude copydoc dotfile
|
|
|
|
\ xmlonly endxmlonly
|
|
|
|
\ xmlonly endxmlonly
|
|
|
|
\ nextgroup=doxygenSpecialOnelineDesc
|
|
|
|
\ nextgroup=doxygenSpecialOnelineDesc copybrief copydetails copyright dir extends
|
|
|
|
|
|
|
|
\ implements
|
|
|
|
|
|
|
|
|
|
|
|
syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\<code\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endcode\>+ contains=doxygenCodeRegionSpecial,doxygenContinueComment,doxygenErrorComment,@NoSpell
|
|
|
|
syn region doxygenCodeRegion contained matchgroup=doxygenOther start=+\<code\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endcode\>+ contains=doxygenCodeRegionSpecial,doxygenContinueCommentWhite,doxygenErrorComment,@NoSpell
|
|
|
|
syn match doxygenCodeRegionSpecial contained +[\\@]\(endcode\>\)\@=+
|
|
|
|
syn match doxygenCodeRegionSpecial contained +[\\@]\(endcode\>\)\@=+
|
|
|
|
|
|
|
|
|
|
|
|
syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\<verbatim\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endverbatim\>+ contains=doxygenVerbatimRegionSpecial,doxygenContinueComment,doxygenErrorComment,@NoSpell
|
|
|
|
syn region doxygenVerbatimRegion contained matchgroup=doxygenOther start=+\<verbatim\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<endverbatim\>+ contains=doxygenVerbatimRegionSpecial,doxygenContinueCommentWhite,doxygenErrorComment,@NoSpell
|
|
|
|
syn match doxygenVerbatimRegionSpecial contained +[\\@]\(endverbatim\>\)\@=+
|
|
|
|
syn match doxygenVerbatimRegionSpecial contained +[\\@]\(endverbatim\>\)\@=+
|
|
|
|
|
|
|
|
|
|
|
|
if exists('b:current_syntax')
|
|
|
|
if exists('b:current_syntax')
|
|
|
@ -213,7 +231,7 @@ endif
|
|
|
|
unlet b:current_syntax
|
|
|
|
unlet b:current_syntax
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\<dot\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<enddot\>+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueComment,@NoSpell,@Dotx
|
|
|
|
syn region doxygenDotRegion contained matchgroup=doxygenOther start=+\<dot\>+ matchgroup=doxygenOther end=+[\\@]\@<=\<enddot\>+ contains=doxygenDotRegionSpecial,doxygenErrorComment,doxygenContinueCommentWhite,@NoSpell,@Dotx
|
|
|
|
syn match doxygenDotRegionSpecial contained +[\\@]\(enddot\>\)\@=+
|
|
|
|
syn match doxygenDotRegionSpecial contained +[\\@]\(enddot\>\)\@=+
|
|
|
|
|
|
|
|
|
|
|
|
" Match single line identifiers.
|
|
|
|
" Match single line identifiers.
|
|
|
@ -224,13 +242,13 @@ endif
|
|
|
|
syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine
|
|
|
|
syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine
|
|
|
|
syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc
|
|
|
|
syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc
|
|
|
|
|
|
|
|
|
|
|
|
syn keyword doxygenOther contained arg author authors date deprecated li result return returns see invariant note post pre remark remarks since test nextgroup=doxygenSpecialMultilineDesc
|
|
|
|
syn keyword doxygenOther contained arg author authors date deprecated li return returns see invariant note post pre remarks since test nextgroup=doxygenSpecialMultilineDesc
|
|
|
|
syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc
|
|
|
|
syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc
|
|
|
|
syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc
|
|
|
|
syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc
|
|
|
|
syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc
|
|
|
|
syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc
|
|
|
|
|
|
|
|
|
|
|
|
" Handle \link, \endlink, highlighting the link-to and the link text bits separately.
|
|
|
|
" Handle \link, \endlink, highlighting 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 region doxygenOtherLink matchgroup=doxygenOther start=+\<link\>+ end=+[\@]\@<=endlink\>+ contained contains=doxygenLinkWord,doxygenContinueCommentWhite,doxygenLinkError,doxygenEndlinkSpecial
|
|
|
|
syn match doxygenEndlinkSpecial contained +[\\@]\zeendlink\>+
|
|
|
|
syn match doxygenEndlinkSpecial contained +[\\@]\zeendlink\>+
|
|
|
|
|
|
|
|
|
|
|
|
syn match doxygenLinkWord "[_a-zA-Z:#()][_a-z0-9A-Z:#()]*\>" contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment
|
|
|
|
syn match doxygenLinkWord "[_a-zA-Z:#()][_a-z0-9A-Z:#()]*\>" contained skipnl nextgroup=doxygenLinkRest,doxygenContinueLinkComment
|
|
|
@ -250,7 +268,7 @@ endif
|
|
|
|
|
|
|
|
|
|
|
|
" Handle section
|
|
|
|
" Handle section
|
|
|
|
syn keyword doxygenOther defgroup section subsection subsubsection weakgroup contained skipwhite nextgroup=doxygenSpecialIdent
|
|
|
|
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 region doxygenSpecialSectionDesc start=+.\++ end=+$+ contained skipwhite contains=doxygenSmallSpecial,@doxygenHtmlGroup keepend skipwhite skipnl nextgroup=doxygenContinueCommentWhite
|
|
|
|
syn match doxygenSpecialIdent "\<[a-zA-Z_0-9]\+\>" contained nextgroup=doxygenSpecialSectionDesc
|
|
|
|
syn match doxygenSpecialIdent "\<[a-zA-Z_0-9]\+\>" contained nextgroup=doxygenSpecialSectionDesc
|
|
|
|
|
|
|
|
|
|
|
|
" Does the one-line description for the one-line type identifiers.
|
|
|
|
" Does the one-line description for the one-line type identifiers.
|
|
|
@ -260,8 +278,12 @@ endif
|
|
|
|
" Handle the multiline description for the multiline type identifiers.
|
|
|
|
" Handle the multiline description for the multiline type identifiers.
|
|
|
|
" Continue until an 'empty' line (can contain a '*' continuation) or until the
|
|
|
|
" Continue until an 'empty' line (can contain a '*' continuation) or until the
|
|
|
|
" next whole-line @ command \ command.
|
|
|
|
" next whole-line @ command \ command.
|
|
|
|
syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueComment,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend
|
|
|
|
syn region doxygenSpecialMultilineDesc start=+.\++ skip=+^\s*\(\*/\@!\s*\)\=\(\<\|[@\\]\<\([npcbea]\>\|em\>\|ref\|link\>\>\|f\$\|[$\\&<>#]\)\|[^ \t\\@*]\)+ end=+^+ contained contains=doxygenSpecialContinueCommentWhite,doxygenSmallSpecial,doxygenHyperLink,doxygenHashLink,@doxygenHtmlGroup,@Spell skipwhite keepend
|
|
|
|
syn match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite
|
|
|
|
|
|
|
|
|
|
|
|
" syn match doxygenSpecialContinueComment contained +^\s*\*/\@!\s*+ nextgroup=doxygenSpecial skipwhite
|
|
|
|
|
|
|
|
syn match doxygenSpecialContinueCommentWhite contained +^\s*\ze\*+ nextgroup=doxygenSpecialContinueComment
|
|
|
|
|
|
|
|
syn match doxygenSpecialContinueComment contained +\*/\@!+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Handle special cases 'bold' and 'group'
|
|
|
|
" Handle special cases 'bold' and 'group'
|
|
|
|
syn keyword doxygenBold contained bold nextgroup=doxygenSpecialHeading
|
|
|
|
syn keyword doxygenBold contained bold nextgroup=doxygenSpecialHeading
|
|
|
@ -288,7 +310,7 @@ endif
|
|
|
|
|
|
|
|
|
|
|
|
" Supported HTML subset. Not perfect, but okay.
|
|
|
|
" Supported HTML subset. Not perfect, but okay.
|
|
|
|
syn case ignore
|
|
|
|
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 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
|
|
|
|
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 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 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 doxygenHtmlEqu contained +=+ nextgroup=doxygenHtmlExpr skipwhite
|
|
|
@ -298,7 +320,7 @@ endif
|
|
|
|
|
|
|
|
|
|
|
|
syn cluster doxygenHtmlGroup contains=doxygenHtmlCode,doxygenHtmlBold,doxygenHtmlUnderline,doxygenHtmlItalic,doxygenHtmlSpecial,doxygenHtmlTag,doxygenHtmlLink
|
|
|
|
syn cluster doxygenHtmlGroup contains=doxygenHtmlCode,doxygenHtmlBold,doxygenHtmlUnderline,doxygenHtmlItalic,doxygenHtmlSpecial,doxygenHtmlTag,doxygenHtmlLink
|
|
|
|
|
|
|
|
|
|
|
|
syn cluster doxygenHtmlTop contains=@Spell,doxygenHtmlSpecial,doxygenHtmlTag,doxygenContinueComment
|
|
|
|
syn cluster doxygenHtmlTop contains=@Spell,doxygenHtmlSpecial,doxygenHtmlTag,doxygenContinueCommentWhite
|
|
|
|
" Html Support
|
|
|
|
" Html Support
|
|
|
|
syn region doxygenHtmlLink contained start=+<[aA]\>\s*\(\n\s*\*\s*\)\=\(\(name\|href\)=\("[^"]*"\|'[^']*'\)\)\=\s*>+ end=+</[aA]>+me=e-4 contains=@doxygenHtmlTop
|
|
|
|
syn region doxygenHtmlLink contained start=+<[aA]\>\s*\(\n\s*\*\s*\)\=\(\(name\|href\)=\("[^"]*"\|'[^']*'\)\)\=\s*>+ end=+</[aA]>+me=e-4 contains=@doxygenHtmlTop
|
|
|
|
hi link doxygenHtmlLink Underlined
|
|
|
|
hi link doxygenHtmlLink Underlined
|
|
|
@ -469,6 +491,8 @@ endif
|
|
|
|
|
|
|
|
|
|
|
|
call s:Doxygen_Hilights()
|
|
|
|
call s:Doxygen_Hilights()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
syn match doxygenLeadingWhite +\(^\s*\*\)\@<=\s*+ contained
|
|
|
|
|
|
|
|
|
|
|
|
" This is still a proposal, but won't do any harm.
|
|
|
|
" This is still a proposal, but won't do any harm.
|
|
|
|
aug doxygengroup
|
|
|
|
aug doxygengroup
|
|
|
|
au!
|
|
|
|
au!
|
|
|
@ -483,6 +507,7 @@ endif
|
|
|
|
SynLink doxygenOtherTODO Todo
|
|
|
|
SynLink doxygenOtherTODO Todo
|
|
|
|
SynLink doxygenOtherWARN Todo
|
|
|
|
SynLink doxygenOtherWARN Todo
|
|
|
|
SynLink doxygenOtherBUG Todo
|
|
|
|
SynLink doxygenOtherBUG Todo
|
|
|
|
|
|
|
|
SynLink doxygenLeadingLWhite doxygenBody
|
|
|
|
|
|
|
|
|
|
|
|
SynLink doxygenErrorSpecial Error
|
|
|
|
SynLink doxygenErrorSpecial Error
|
|
|
|
SynLink doxygenErrorEnd Error
|
|
|
|
SynLink doxygenErrorEnd Error
|
|
|
@ -517,7 +542,10 @@ endif
|
|
|
|
SynLink doxygenBriefL doxygenBrief
|
|
|
|
SynLink doxygenBriefL doxygenBrief
|
|
|
|
SynLink doxygenBriefLine doxygenBrief
|
|
|
|
SynLink doxygenBriefLine doxygenBrief
|
|
|
|
SynLink doxygenHeaderLine doxygenSpecialHeading
|
|
|
|
SynLink doxygenHeaderLine doxygenSpecialHeading
|
|
|
|
SynLink doxygenStartSkip doxygenContinueComment
|
|
|
|
SynLink doxygenCommentWhite Normal
|
|
|
|
|
|
|
|
SynLink doxygenCommentWhite2 doxygenCommentWhite
|
|
|
|
|
|
|
|
SynLink doxygenContinueCommentWhite doxygenCommentWhite
|
|
|
|
|
|
|
|
SynLink doxygenStartSkipWhite doxygenContinueCommentWhite
|
|
|
|
SynLink doxygenLinkWord doxygenParamName
|
|
|
|
SynLink doxygenLinkWord doxygenParamName
|
|
|
|
SynLink doxygenLinkRest doxygenSpecialMultilineDesc
|
|
|
|
SynLink doxygenLinkRest doxygenSpecialMultilineDesc
|
|
|
|
SynLink doxygenHyperLink doxygenLinkWord
|
|
|
|
SynLink doxygenHyperLink doxygenLinkWord
|
|
|
@ -591,5 +619,5 @@ finally
|
|
|
|
let &cpo = s:cpo_save
|
|
|
|
let &cpo = s:cpo_save
|
|
|
|
unlet s:cpo_save
|
|
|
|
unlet s:cpo_save
|
|
|
|
endtry
|
|
|
|
endtry
|
|
|
|
|
|
|
|
let suppress_doxygen=1
|
|
|
|
" vim:et sw=2 sts=2
|
|
|
|
" vim:et sw=2 sts=2
|
|
|
|