" Vim syntax file " Language: C++ " Current Maintainer: vim-jp (https://github.com/vim-jp/cpp-vim) " Previous Maintainer: Ken Shan " Last Change: 2012 Jun 14 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif " Read the C syntax to start with if version < 600 so :p:h/c.vim else runtime! syntax/c.vim unlet b:current_syntax endif " C++ extensions syn keyword cppStatement new delete this friend using syn keyword cppAccess public protected private syn keyword cppType inline virtual explicit export bool wchar_t syn keyword cppExceptions throw try catch syn keyword cppOperator operator typeid syn keyword cppOperator and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1 syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$" syn keyword cppStorageClass mutable syn keyword cppStructure class typename template namespace syn keyword cppBoolean true false " C++ 11 extensions if !exists("cpp_no_cpp11") syn keyword cppType override final syn keyword cppExceptions noexcept syn keyword cppStorageClass constexpr decltype syn keyword cppConstant nullptr " A C++11 raw-string literal. It tries to follow 2.14.5 and 2.14.5.2 of the " standard. syn region cppRawString matchgroup=cppRawDelim start=+\%(u8\=\|[LU]\)\=R"\z(\%([ ()\\\d9-\d12]\@![\d0-\d127]\)\{,16}\)(+ end=+)\z1"+ contains=@Spell endif " The minimum and maximum operators in GNU C++ syn match cppMinMax "[<>]?" " Default highlighting if version >= 508 || !exists("did_cpp_syntax_inits") if version < 508 let did_cpp_syntax_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif HiLink cppAccess cppStatement HiLink cppCast cppStatement HiLink cppExceptions Exception HiLink cppOperator Operator HiLink cppStatement Statement HiLink cppType Type HiLink cppStorageClass StorageClass HiLink cppStructure Structure HiLink cppBoolean Boolean HiLink cppConstant Constant HiLink cppRawDelim cFormat HiLink cppRawString String delcommand HiLink endif let b:current_syntax = "cpp" " vim: ts=8