@@ -32,13 +32,24 @@ syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$"
32
32
syn keyword cppStorageClass mutable
33
33
syn keyword cppStructure class typename template namespace
34
34
syn keyword cppBoolean true false
35
+ syn keyword cppConstant __cplusplus
35
36
36
37
" C++ 11 extensions
37
38
if ! exists (" cpp_no_cpp11" )
38
39
syn keyword cppType override final
39
40
syn keyword cppExceptions noexcept
40
- syn keyword cppStorageClass constexpr decltype
41
+ syn keyword cppStorageClass constexpr decltype thread_local
41
42
syn keyword cppConstant nullptr
43
+ syn keyword cppConstant ATOMIC_FLAG_INIT ATOMIC_VAR_INIT
44
+ syn keyword cppConstant ATOMIC_BOOL_LOCK_FREE ATOMIC_CHAR_LOCK_FREE
45
+ syn keyword cppConstant ATOMIC_CHAR16_T_LOCK_FREE ATOMIC_CHAR32_T_LOCK_FREE
46
+ syn keyword cppConstant ATOMIC_WCHAR_T_LOCK_FREE ATOMIC_SHORT_LOCK_FREE
47
+ syn keyword cppConstant ATOMIC_INT_LOCK_FREE ATOMIC_LONG_LOCK_FREE
48
+ syn keyword cppConstant ATOMIC_LLONG_LOCK_FREE ATOMIC_POINTER_LOCK_FREE
49
+
50
+ " A raw-string looks like R"d(...)d" where d is a (possibly empty) sequence of
51
+ " A-Z a-z 0-9 _ { } [ ] # < > % : ; . ? * + - / ^ & | ~ ! = , " '
52
+ syn region cppRawString matchgroup =cppRawDelim start =+ R"\z ([[:alnum:]_{}[\] #<>%:;.?*+\- /\^ &|~!=,"']*\) (+ end=+)\z 1"+ contains=@Spell
42
53
endif
43
54
44
55
" The minimum and maximum operators in GNU C++
@@ -62,6 +73,8 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
62
73
HiLink cppStructure Structure
63
74
HiLink cppBoolean Boolean
64
75
HiLink cppConstant Constant
76
+ HiLink cppRawDelim cFormat
77
+ HiLink cppRawString String
65
78
delcommand HiLink
66
79
endif
67
80
0 commit comments