" ADAM C++ vim syntax after extensions syn match cxxObjects "\<[A-Z][A-Za-z0-9_]*[a-z][A-Za-z0-9_]*\>" "syn match cxxMetaFunction "\<[a-z][a-z0-9]*_[a-z0-9_]*[a-z0-9]\>" syn keyword cppType noexcept decltype " I dislike the exception highlighting for these control statements. syn keyword cppStatement try throw catch " Assert is kinda like a statement -- as a macro it's a kinda dangerous name, so call it out. syn keyword cppStatement assert "syn keyword cppStatement static_assert syn keyword cxxConstants nullptr syn keyword cxxExportNamespace exports syn match cxxConstants "\<\(C::[A-Za-z_]\|k[A-Z]\)[A-Z_a-z0-9]*\>" syn keyword cxxExceptionNames Exception Exceptions syn match cxxExceptionNames "\<[A-Z][A-Za-z0-9_]*Exception\>" syn keyword cxxErrorNames Error Errors syn match cxxErrorNames "\<[A-Z][A-Za-z0-9_]*Error\>" syn match cxxCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*\(<\)\@=" syn cluster cxxLibraryBits contains=cxxStlKeywords,cxxStlFunctions,cxxStlService,cxxStlTypes,cxxStlConstant,cxxStlExceptionNames syn cluster cxxIgnoreCGroupingErrors contains=NONE syn cluster cParenGroup add=@cxxIgnoreCGroupingErrors syn cluster cxxIgnoreCGroupingErrors add=@cxxLibraryBits "syn cluster cxxLibrary contains=cxxStlLibrary,cxxBoostLibrary "syn region cxxStlLibrary start="\" "syn match "::" containedin=@cxxLibrary contained "end="::\(.*\)\@>\>" syn region cxxAttribute matchgroup=cxxAttributeBracing start="\[\[" end="]]" syn keyword cxxStlKeywords contained containedin=cxxAttribute noreturn carries_dependency deprecated fallthrough nodiscard maybe_unused " Broken? "syn region cxxStlLibrary start="\(\" syn match cxxTestingCall "\" " Define the default highlighting. " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_cxx_syntax_inits") if version < 508 let did_cxx_syntax_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif "HiLink cxxStlLibrary cxxLibPrefix "HiLink cxxBoostLibrary cxxLibPrefix HiLink cxxObjects Object HiLink cxxCast cxxStatement HiLink cxxStatement Statement HiLink cxxExceptionNames Exception HiLink cxxStlExceptionNames Exception HiLink cxxStlNothrow Nothrow HiLink cxxStlNothrowObject NothrowObject HiLink cxxErrorNames Error HiLink cxxDebug Debug HiLink cxxConstants Constant HiLink cxxNamedConstant Constant HiLink cxxStlService Service HiLink cxxStlConstant Constant HiLink cxxStlTypes Object HiLink cxxStlKeywords cppType HiLink cxxStlFunctions cppStatement HiLink cxxStlFreeFunctions cppStatement HiLink cxxLibStatement cppStatement HiLink cxxAttributeBracing cppStatement HiLink cxxTestingCall TestCall HiLink cxxLibPrefix Caller HiLink cxxLibLiterals Literals HiLink cxxExportNamespace cppModule HiLink cxxStlTraits MetaFunction HiLink cxxMetaFunction MetaFunction HiLink cxxLibMetaFunction cxxMetaFunction HiLink cxxStlDangerousFunction Dangerous delcommand HiLink endif