1" Vim syntax file 2" Language: C++ 3" Current Maintainer: vim-jp (https://github.com/vim-jp/cpp-vim) 4" Previous Maintainer: Ken Shan <[email protected]> 5" Last Change: 2012 Jun 14 6 7" For version 5.x: Clear all syntax items 8" For version 6.x: Quit when a syntax file was already loaded 9if version < 600 10 syntax clear 11elseif exists("b:current_syntax") 12 finish 13endif 14 15" Read the C syntax to start with 16if version < 600 17 so <sfile>:p:h/c.vim 18else 19 runtime! syntax/c.vim 20 unlet b:current_syntax 21endif 22 23" C++ extensions 24syn keyword cppStatement new delete this friend using 25syn keyword cppAccess public protected private 26syn keyword cppType inline virtual explicit export bool wchar_t 27syn keyword cppExceptions throw try catch 28syn keyword cppOperator operator typeid 29syn keyword cppOperator and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq 30syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1 31syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$" 32syn keyword cppStorageClass mutable 33syn keyword cppStructure class typename template namespace 34syn keyword cppBoolean true false 35 36" C++ 11 extensions 37if !exists("cpp_no_cpp11") 38 syn keyword cppType override final 39 syn keyword cppExceptions noexcept 40 syn keyword cppStorageClass constexpr decltype 41 syn keyword cppConstant nullptr 42endif 43 44" The minimum and maximum operators in GNU C++ 45syn match cppMinMax "[<>]?" 46 47" Default highlighting 48if version >= 508 || !exists("did_cpp_syntax_inits") 49 if version < 508 50 let did_cpp_syntax_inits = 1 51 command -nargs=+ HiLink hi link <args> 52 else 53 command -nargs=+ HiLink hi def link <args> 54 endif 55 HiLink cppAccess cppStatement 56 HiLink cppCast cppStatement 57 HiLink cppExceptions Exception 58 HiLink cppOperator Operator 59 HiLink cppStatement Statement 60 HiLink cppType Type 61 HiLink cppStorageClass StorageClass 62 HiLink cppStructure Structure 63 HiLink cppBoolean Boolean 64 HiLink cppConstant Constant 65 delcommand HiLink 66endif 67 68let b:current_syntax = "cpp" 69 70" vim: ts=8 71