3 " Maintainer: Ken Shan <ccshan@post.harvard.edu>
4 " Last change: 2001 May 14
6 " For version 5.x: Clear all syntax items
7 " For version 6.x: Quit when a syntax file was already loaded
10 elseif exists("b:current_syntax")
14 " Read the C syntax to start with
19 unlet b:current_syntax
23 syn keyword cppStatement new delete this friend using
24 syn keyword cppAccess public protected private
25 syn keyword cppType inline virtual explicit export bool wchar_t
26 syn keyword cppExceptions throw try catch
27 syn keyword cppOperator operator typeid
28 syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1
29 syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$"
30 syn keyword cppStorageClass mutable
31 syn keyword cppStructure class typename template namespace
32 syn keyword cppNumber NPOS
33 syn keyword cppBoolean true false
35 " The minimum and maximum operators in GNU C++
36 syn match cppMinMax "[<>]?"
38 " Default highlighting
39 if version >= 508 || !exists("did_cpp_syntax_inits")
41 let did_cpp_syntax_inits = 1
42 command -nargs=+ HiLink hi link <args>
44 command -nargs=+ HiLink hi def link <args>
46 HiLink cppAccess cppStatement
47 HiLink cppCast cppStatement
48 HiLink cppExceptions cppStatement
49 HiLink cppOperator cppStatement
50 HiLink cppStatement Statement
52 HiLink cppStorageClass StorageClass
53 HiLink cppStructure Structure
54 HiLink cppNumber Number
55 HiLink cppBoolean Boolean
59 let b:current_syntax = "cpp"