" " FILE: cpp.vim " " ABSTRACT: " " AUTHOR: Ralf Schandl " " $Id: c.vim,v 1.1 2000/12/27 12:01:25 rks Exp $ " " ============================================================================= " source $VIMRUNTIME/syntax/cpp.vim try source $HOME/.vim/doxyvim/doxygen.vim catch /.*/ try source $HOME/vimfiles/doxyvim/doxygen.vim catch /.*/ source $VIM/vimfiles/doxyvim/doxygen.vim endtry endtry "--------------------------------------- " comment coloring "--------------------------------------- syn case ignore let main_syntax='java' " the html syntax file knows about html in javadoc comments (which also works in doxygen) syn include @cppCommentHtml $VIMRUNTIME/syntax/html.vim if version >= 701 syntax spell default endif unlet main_syntax syn match cdoxyTag contained /[\\@][A-Za-z_]\+\s*/ syn match cdoxyTag contained /[\\@]f[\[\]\$]\s*/ syn match cdoxyTagOptions contained /\[[^\]]*\]/ syn match cdoxyTagBold contained /[\\@]\(c\|b\|d\)\(\[[^\]]*\]\)\?\s\+\S\+\s*/ contains=cdoxyTag,cdoxyTagOptions syn match cdoxyTagEmph contained /[\\@]\(e\|t\)\(\[[^\]]*\]\)\?\s\+\S\+\s*/ contains=cdoxyTag,cdoxyTagOptions syn match cdoxyTagWithArg contained /[\\@]\(al\?\|\(sub\)\?page\|anchor\|ref\|itemref\|param\|class\|struct\|namespace\|fn\|\(sub\)*section\|defgroup\|ingroup\|copyd\(oc\|etail\)\|see\|sa\|throws\)\(\[[^\]]*\]\)\?\s\+\S\+\s*/ contains=cdoxyTag,cdoxyTagOptions syn region cdoxyBraceTag contained keepend start=/[\\@]\([A-Za-z_]\+\){/ end=/}/ contains=cdoxyTag,cdoxyTagOptions,cdoxyRepeatedStar syn region cdoxyBraceTagBold contained keepend start=/[\\@]\(b_\|d_\){/hs=s+4 end=/}/he=e-1 contains=cdoxyTag,cdoxyTagOptions,cdoxyRepeatedStar syn region cdoxyBraceTagEmph contained keepend start=/[\\@]\(e_\|t_\){/hs=s+4 end=/}/he=e-1 contains=cdoxyTag,cdoxyTagOptions,cdoxyRepeatedStar syn match cdoxyTitle contained /[\\@]\(\(main\)\?page\|par\>\|section\|\(sub\)\+section\|defgroup\).*$/ contains=cdoxyTagWithArg,cdoxyTagBold,cdoxyTagEmph,cdoxyTag syn match cdoxyUrl contained `\<[a-z0-9]*:/\+\S\+` syn region cdoxyCommentSpecial contained keepend start=+"+hs=s+1 skip=+\\["\\]+ end=+"+he=e-1 end="\*\+/"me=s-1 contains=@Spell syn match cdoxyCommentEmph contained /\([A-Za-z0-9_:][A-Za-z0-9_\-\+=<>!:]*\ze([^)]*)\)/ syn match cdoxyCommentEmph contained /\([A-Za-z0-9_:][A-Za-z0-9_\-\+=<>!:]*\ze<[^>]*>\)/ syn match cdoxyCommentEmph contained /¯\([^ ()]*\)/ contains=cGhost syn match cGhost /\(¯\)/ contained " highlight these differently syn match cdoxyMarkers contained /[\\@]\(end\)\?\(code\|\(ez\)\?dot\|perl\|shell\|msc\|verbatim\)/ syn region cdoxyCode contained keepend start=/[\\@]\(code\|\(ez\)\?dot\|perl\|shell\|msc\|verbatim\)\>/hs=e+1,rs=e+1 end=/[\\@]end\(code\|\(ez\)\?dot\|perl\|shell\|msc\|verbatim\)\>/ contains=cdoxyRepeatedStar,cdoxyMarkers syn match cdoxyAngles contained /<[^A-Za-z0-9_()"/-]/hs=e+1 syn match cdoxyAngles contained /[^A-Za-z0-9_()"/-]>/hs=e+1 syn region cdoxyBound keepend start="/\*[*!]\+" end="\*\+/" contains=cdoxySentanceOne,@cppCommentHtml,cdoxyTag,cdoxyBraceTagBold,cdoxyBraceTagEmph,cdoxyBraceTag,cdoxyTitle,cdoxyTagWithArg,cdoxyTagBold,cdoxyTagEmph,cdoxyCommentEmph,cdoxyCommentSpecial,cdoxyRepeatedStar,@cCommentGroup,cdoxyCode,cdoxyAngles,cdoxyUrl syn match cComment /\/\*\+\*\// syn region cdoxySentanceOne contained keepend start="\(/\*[*!]\+\|[@\\]\(class\|struct\|namespace\|fn\)\)"hs=e+1 skip="\.\\" end="\.$" end="\.[ \t\r&]" end="\*\+/"me=s-1 contains=@cppCommentHtml,cdoxyRepeatedStar,cdoxyCommentSpecial,@cCommentGroup,cdoxyTag,cdoxyBraceTagBold,cdoxyBraceTagEmph,cdoxyBraceTag,cdoxyTitle,cdoxyTagWithArg,cdoxyTagBold,cdoxyTagEmph,cdoxyAngles,cdoxyCommentEmph syn match cdoxyRepeatedStar /^[ ]*\*\+/ contained syn case match hi def link cdoxyTag SpecialComment hi def link cdoxyMarkers SpecialKey hi def link cdoxyTagOptions cdoxyCommentSpecial hi def link cdoxyTagWithArg Function hi def link cdoxyTagBold htmlBold hi def link cdoxyTagEmph htmlItalic hi def link cdoxyBraceTag Function hi def link cdoxyBraceTagBold htmlBold hi def link cdoxyBraceTagEmph htmlItalic hi def link cdoxyTitle htmlUnderline hi def link cdoxyUrl htmlLink hi def link cdoxyBound Comment hi def link cdoxySentanceOne SpecialComment hi def link cdoxyRepeatedStar Comment hi def link cdoxyCode cdoxyCommentSpecial hi def link cdoxyCommentEmph Function hi def link cdoxyCommentSpecial LineNr hi def link cGhost Ignore syn cluster cCommentGroup add=cdoxyBound,cTodo,@Spell " members of these groups are ignored within parens and ?: syn cluster cParenGroup add=cdoxyCommentEmph,cdoxyCommentSpecial,cdoxyTagOptions,cdoxySentanceOne syn cluster cMultiGroup add=cdoxyCommentEmph,cdoxyCommentSpecial,cdoxyTagOptions,cdoxySentanceOne syn match cTodo contained /\(TODO\)\|\(FIXME\)\|\(XXX\)\|\(\\todo\)/ "-------------------------------------------------- " color preprocessor errors using warning color "-------------------------------------------------- syn region cppErrorText matchgroup=Preproc start="#\s*error\s" end="$" hi def link cppErrorText WarningMsg syn match cppCast "\" syn match Special "\<\(shared\|upgrade\|upgrade_to_unique\|unique\)_lock\>" syn match Special "\(->\|[.]\)\s*\zs\(\(Try\|try_\)\?[Ll]\|[Uu]nl\)ock\s*("me=e-1 syn match Special "\.*$/ hi def link cppBoostPP WarningMsg "-------------------------------------------------- " color C++0x null pointer token "-------------------------------------------------- syn keyword cppNull nullptr hi def link cppNull Constant " expand \\\ to the start of a documentation section " iabbr \\\ /**/*O " vim:tw=75 et ts=4 sw=4 sr ai comments=\:\" formatoptions=croq " "---------[ END OF FILE cpp.vim ]----------------------------------------------