-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathcpp11.vim
More file actions
68 lines (61 loc) · 1.99 KB
/
cpp11.vim
File metadata and controls
68 lines (61 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
" Vim syntax file
"
" This file is a modified version of the existing vim C++
" syntax file in order to support C++11 language changes.
"
" Original Details
" ================
" Language: C++
" Maintainer: Ken Shan <ccshan@post.harvard.edu>
" Last Change: 2002 Jul 15
" 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 <sfile>:p:h/cpp11_cbase.vim
else
runtime! syntax/cpp11_cbase.vim
unlet b:current_syntax
endif
" C++ extentions
syn keyword cppStatement new delete this friend using constexpr static_assert decltype noexcept
syn keyword cppAccess public protected private
syn keyword cppType inline virtual explicit export bool wchar_t override final
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 thread_local
syn keyword cppStructure class typename template namespace
syn keyword cppNumber NPOS nullptr
syn keyword cppBoolean true false
" 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 <args>
else
command -nargs=+ HiLink hi def link <args>
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 cppNumber Number
HiLink cppBoolean Boolean
delcommand HiLink
endif
let b:current_syntax = "cpp"
" vim: ts=8