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