Changeset View
Changeset View
Standalone View
Standalone View
data/syntax/isocpp.xml
Show All 16 Lines | 3 | [ | |||
---|---|---|---|---|---|
17 | <!ENTITY pphash "&ispphash;\s*"> | 17 | <!ENTITY pphash "&ispphash;\s*"> | ||
18 | <!ENTITY ppemptypp "($|(?=(/\*([^*]|\*[^/])*\*/\s*)?(//.*)?$))"> | 18 | <!ENTITY ppemptypp "($|(?=(/\*([^*]|\*[^/])*\*/\s*)?(//.*)?$))"> | ||
19 | <!ENTITY ppcond0 "\s+(?:0|false)\s*&ppemptypp;"> | 19 | <!ENTITY ppcond0 "\s+(?:0|false)\s*&ppemptypp;"> | ||
20 | <!ENTITY ppcond1 "\s+(?:1|true)\s*(\|\|([^/]|/[^*/])+)?&ppemptypp;"> | 20 | <!ENTITY ppcond1 "\s+(?:1|true)\s*(\|\|([^/]|/[^*/])+)?&ppemptypp;"> | ||
21 | ]> | 21 | ]> | ||
22 | <language | 22 | <language | ||
23 | name="ISO C++" | 23 | name="ISO C++" | ||
24 | section="Sources" | 24 | section="Sources" | ||
25 | version="14" | 25 | version="15" | ||
26 | kateversion="5.0" | 26 | kateversion="5.0" | ||
27 | indenter="cstyle" | 27 | indenter="cstyle" | ||
28 | style="C++" | 28 | style="C++" | ||
29 | mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr" | 29 | mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr" | ||
30 | extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc" | 30 | extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc" | ||
31 | author="Alex Turbov (i.zaufi@gmail.com)" | 31 | author="Alex Turbov (i.zaufi@gmail.com)" | ||
32 | license="LGPL" | 32 | license="LGPL" | ||
33 | priority="6" | 33 | priority="6" | ||
34 | > | 34 | > | ||
35 | <!-- | 35 | <!-- | ||
36 | Complete list of changes by Alex Turbov (I.zaufi@gmail.com) | 36 | Complete list of changes by Alex Turbov (I.zaufi@gmail.com) | ||
37 | can be found at: | 37 | can be found at: | ||
38 | http://kde-files.org/content/show.php?content=90660 | 38 | http://kde-files.org/content/show.php?content=90660 | ||
39 | --> | 39 | --> | ||
40 | <highlighting> | 40 | <highlighting> | ||
41 | <!-- https://en.cppreference.com/w/cpp/keyword --> | ||||
41 | <list name="controlflow"> | 42 | <list name="controlflow"> | ||
42 | <item>break</item> | 43 | <item>break</item> | ||
43 | <item>case</item> | 44 | <item>case</item> | ||
44 | <item>catch</item> | 45 | <item>catch</item> | ||
45 | <item>continue</item> | 46 | <item>continue</item> | ||
46 | <item>default</item> | 47 | <item>default</item> | ||
47 | <item>do</item> | 48 | <item>do</item> | ||
48 | <item>else</item> | 49 | <item>else</item> | ||
49 | <item>for</item> | 50 | <item>for</item> | ||
50 | <item>goto</item> | 51 | <item>goto</item> | ||
51 | <item>if</item> | 52 | <item>if</item> | ||
52 | <item>return</item> | 53 | <item>return</item> | ||
53 | <item>switch</item> | 54 | <item>switch</item> | ||
54 | <item>throw</item> | 55 | <item>throw</item> | ||
55 | <item>try</item> | 56 | <item>try</item> | ||
56 | <item>while</item> | 57 | <item>while</item> | ||
57 | </list> | 58 | </list> | ||
59 | | ||||
58 | <list name="keywords"> | 60 | <list name="keywords"> | ||
59 | <item>alignof</item> | 61 | <item>alignof</item> | ||
60 | <item>alignas</item> | 62 | <item>alignas</item> | ||
61 | <item>asm</item> | 63 | <item>asm</item> | ||
62 | <item>auto</item> | 64 | <item>auto</item> | ||
63 | <item>class</item> | 65 | <item>class</item> | ||
64 | <item>concept</item> <!-- C++20 --> | 66 | <item>consteval</item> <!-- C++20 --> | ||
65 | <item>requires</item> <!-- C++20 --> | | |||
66 | <item>constexpr</item> | 67 | <item>constexpr</item> | ||
67 | <item>const_cast</item> | 68 | <item>const_cast</item> | ||
68 | <item>decltype</item> | 69 | <item>decltype</item> | ||
69 | <item>delete</item> | 70 | <item>delete</item> | ||
70 | <item>dynamic_cast</item> | 71 | <item>dynamic_cast</item> | ||
71 | <item>enum</item> | 72 | <item>enum</item> | ||
72 | <item>explicit</item> | 73 | <item>explicit</item> | ||
73 | <item>export</item> <!-- Unused but reserved for future use --> | | |||
74 | <item>false</item> | 74 | <item>false</item> | ||
75 | <item>final</item> <!-- According N3272 --> | 75 | <item>final</item> <!-- According N3272 --> | ||
76 | <item>friend</item> | 76 | <item>friend</item> | ||
77 | <item>inline</item> | 77 | <item>inline</item> | ||
78 | <item>namespace</item> | 78 | <item>namespace</item> | ||
79 | <item>new</item> | 79 | <item>new</item> | ||
80 | <item>noexcept</item> | 80 | <item>noexcept</item> | ||
81 | <item>nullptr</item> | 81 | <item>nullptr</item> | ||
Show All 23 Lines | |||||
105 | <item>bitor</item> | 105 | <item>bitor</item> | ||
106 | <item>compl</item> | 106 | <item>compl</item> | ||
107 | <item>not</item> | 107 | <item>not</item> | ||
108 | <item>not_eq</item> | 108 | <item>not_eq</item> | ||
109 | <item>or</item> | 109 | <item>or</item> | ||
110 | <item>or_eq</item> | 110 | <item>or_eq</item> | ||
111 | <item>xor</item> | 111 | <item>xor</item> | ||
112 | <item>xor_eq</item> | 112 | <item>xor_eq</item> | ||
113 | <!-- Contract --> | ||||
114 | <item>concept</item> | ||||
115 | <item>requires</item> | ||||
113 | <!-- TM TS --> | 116 | <!-- TM TS --> | ||
114 | <!-- <list>atomic_cancel</list> | 117 | <!-- <item>atomic_cancel</item> | ||
115 | <list>atomic_commit</list> | 118 | <item>atomic_commit</item> | ||
116 | <list>atomic_noexcept</list> | 119 | <item>atomic_noexcept</item> | ||
117 | <list>synchronized</list> | 120 | <item>synchronized</item> | ||
118 | <list>transaction_safe</list> | 121 | <item>transaction_safe</item> | ||
119 | <list>transaction_safe_dynamic</list> --> | 122 | <item>transaction_safe_dynamic</item> --> | ||
120 | <!-- module TS --> | 123 | <!-- module --> | ||
121 | <!-- <list>import</list> | 124 | <item>import</item> | ||
122 | <list>module</list> --> | 125 | <item>module</item> | ||
123 | <!-- coroutine TS --> | 126 | <item>export</item> <!-- Unused but reserved, keyword since c++20 --> | ||
124 | <!-- <list>co_await</list> | 127 | <!-- coroutine --> | ||
125 | <list>co_return</list> | 128 | <item>co_await</item> | ||
126 | <list>co_yield</list> --> | 129 | <item>co_return</item> | ||
130 | <item>co_yield</item> | ||||
131 | <!-- reflexion TS --> | ||||
132 | <!-- <item>reflexpr</item> --> | ||||
127 | </list> | 133 | </list> | ||
128 | <!-- This keyword may appear in InternalsNS context. For example in code: | 134 | <!-- This keyword may appear in InternalsNS context. For example in code: | ||
129 | details::some_class::template some_templated_static(); | 135 | details::some_class::template some_templated_static(); | ||
130 | and it should be displayed as keyword, not like part of details namespace... | 136 | and it should be displayed as keyword, not like part of details namespace... | ||
131 | --> | 137 | --> | ||
132 | <list name="template"> | 138 | <list name="template"> | ||
133 | <item>template</item> | 139 | <item>template</item> | ||
134 | </list> | 140 | </list> | ||
Show All 12 Lines | 144 | <list name="attributes"> | |||
147 | <item>maybe_unused</item> | 153 | <item>maybe_unused</item> | ||
148 | <!-- C++20 --> | 154 | <!-- C++20 --> | ||
149 | <item>likely</item> | 155 | <item>likely</item> | ||
150 | <item>unlikely</item> | 156 | <item>unlikely</item> | ||
151 | <item>no_unique_address</item> | 157 | <item>no_unique_address</item> | ||
152 | <!-- TM TS --> | 158 | <!-- TM TS --> | ||
153 | <!-- <item>optimize_for_synchronized</item> --> | 159 | <!-- <item>optimize_for_synchronized</item> --> | ||
154 | </list> | 160 | </list> | ||
161 | <list name="contractAttributes"> | ||||
162 | <!-- C++20 --> | ||||
163 | <item>assert</item> | ||||
164 | <item>ensures</item> | ||||
165 | <item>expects</item> | ||||
166 | </list> | ||||
167 | <list name="contractLevel"> | ||||
168 | <!-- C++20 --> | ||||
169 | <item>default</item> | ||||
170 | <item>audit</item> | ||||
171 | <item>axiom</item> | ||||
172 | </list> | ||||
155 | <!-- This keyword may appear in Attribute context. For example in code: | 173 | <!-- This keyword may appear in Attribute context. For example in code: | ||
156 | [[using CC: opt(1), debug]] | 174 | [[using CC: opt(1), debug]] | ||
157 | and it should be displayed as keyword, not like part of attribute... | 175 | and it should be displayed as keyword, not like part of attribute... | ||
158 | --> | 176 | --> | ||
159 | <list name="using"> | 177 | <list name="using"> | ||
160 | <item>using</item> | 178 | <item>using</item> | ||
161 | </list> | 179 | </list> | ||
162 | 180 | | |||
181 | <!-- https://en.cppreference.com/w/cpp/keyword --> | ||||
163 | <list name="types"> | 182 | <list name="types"> | ||
164 | <item>bool</item> | 183 | <item>bool</item> | ||
165 | <item>char</item> | 184 | <item>char</item> | ||
185 | <item>char8_t</item> <!-- C++20 --> | ||||
166 | <item>char16_t</item> | 186 | <item>char16_t</item> | ||
167 | <item>char32_t</item> | 187 | <item>char32_t</item> | ||
168 | <item>double</item> | 188 | <item>double</item> | ||
169 | <item>float</item> | 189 | <item>float</item> | ||
170 | <item>int</item> | 190 | <item>int</item> | ||
171 | <item>long</item> | 191 | <item>long</item> | ||
172 | <item>short</item> | 192 | <item>short</item> | ||
173 | <item>signed</item> | 193 | <item>signed</item> | ||
Show All 37 Lines | |||||
211 | <item>FILE</item> | 231 | <item>FILE</item> | ||
212 | <item>fpos_t</item> | 232 | <item>fpos_t</item> | ||
213 | <item>time_t</item> | 233 | <item>time_t</item> | ||
214 | </list> | 234 | </list> | ||
215 | <list name="modifiers"> | 235 | <list name="modifiers"> | ||
216 | <item>const</item> | 236 | <item>const</item> | ||
217 | <item>extern</item> | 237 | <item>extern</item> | ||
218 | <item>mutable</item> | 238 | <item>mutable</item> | ||
219 | <item>register</item> | 239 | <item>register</item> <!-- The keyword is unused and reserved (c++17) --> | ||
220 | <item>static</item> | 240 | <item>static</item> | ||
221 | <item>thread_local</item> | 241 | <item>thread_local</item> | ||
222 | <item>volatile</item> | 242 | <item>volatile</item> | ||
223 | </list> | 243 | </list> | ||
224 | <!-- http://en.cppreference.com/w/cpp/preprocessor/replace --> | 244 | <!-- http://en.cppreference.com/w/cpp/preprocessor/replace --> | ||
225 | <list name="StdMacros"> | 245 | <list name="StdMacros"> | ||
226 | <item>__DATE__</item> | 246 | <item>__DATE__</item> | ||
227 | <item>__FILE__</item> | 247 | <item>__FILE__</item> | ||
228 | <item>__LINE__</item> | 248 | <item>__LINE__</item> | ||
229 | <item>__STDCPP_DEFAULT_NEW_ALIGNMENT__</item> | 249 | <item>__STDCPP_DEFAULT_NEW_ALIGNMENT__</item> | ||
230 | <item>__STDCPP_STRICT_POINTER_SAFETY__</item> | 250 | <item>__STDCPP_STRICT_POINTER_SAFETY__</item> | ||
231 | <item>__STDCPP_THREADS__</item> | 251 | <item>__STDCPP_THREADS__</item> | ||
232 | <item>__STDC_HOSTED__</item> | 252 | <item>__STDC_HOSTED__</item> | ||
233 | <item>__STDC_ISO_10646__</item> | 253 | <item>__STDC_ISO_10646__</item> | ||
234 | <item>__STDC_MB_MIGHT_NEQ_WC__</item> | 254 | <item>__STDC_MB_MIGHT_NEQ_WC__</item> | ||
235 | <item>__STDC_VERSION__</item> | 255 | <item>__STDC_VERSION__</item> | ||
236 | <item>__STDC__</item> | 256 | <item>__STDC__</item> | ||
237 | <item>__TIME__</item> | 257 | <item>__TIME__</item> | ||
238 | <item>__cplusplus</item> | 258 | <item>__cplusplus</item> | ||
239 | <item>__func__</item> | 259 | <item>__func__</item> | ||
240 | <item>assert</item> | 260 | <item>assert</item> | ||
241 | <item>_Pragma</item> | 261 | <item>_Pragma</item> | ||
262 | <!-- C++17 --> | ||||
242 | <item>__has_include</item> | 263 | <item>__has_include</item> | ||
264 | <!-- C++20 --> | ||||
265 | <item>__has_cpp_attribute</item> | ||||
243 | </list> | 266 | </list> | ||
244 | <list name="InMacro"> | 267 | <list name="InMacro"> | ||
245 | <item>__VA_ARGS__</item> | 268 | <item>__VA_ARGS__</item> | ||
246 | <item>__VA_OPT__</item> | 269 | <item>__VA_OPT__</item> | ||
247 | </list> | 270 | </list> | ||
248 | <list name="preprocessorIf"> | 271 | <list name="preprocessorIf"> | ||
249 | <item>if</item> | 272 | <item>if</item> | ||
250 | </list> | 273 | </list> | ||
▲ Show 20 Lines • Show All 249 Lines • ▼ Show 20 Line(s) | 303 | <contexts> | |||
500 | <context name="UDLStringSuffix" attribute="String" fallthrough="true" fallthroughContext="#pop#pop" lineEndContext="#pop#pop"> | 523 | <context name="UDLStringSuffix" attribute="String" fallthrough="true" fallthroughContext="#pop#pop" lineEndContext="#pop#pop"> | ||
501 | <WordDetect attribute="Standard Classes" context="#pop#pop" String="sv" /> | 524 | <WordDetect attribute="Standard Classes" context="#pop#pop" String="sv" /> | ||
502 | <WordDetect attribute="Standard Classes" context="#pop#pop" String="s" /> | 525 | <WordDetect attribute="Standard Classes" context="#pop#pop" String="s" /> | ||
503 | <RegExpr attribute="UDL String Suffix" context="#pop#pop" String="_[_0-9A-Za-z]*\b" /> | 526 | <RegExpr attribute="UDL String Suffix" context="#pop#pop" String="_[_0-9A-Za-z]*\b" /> | ||
504 | </context> | 527 | </context> | ||
505 | 528 | | |||
506 | 529 | | |||
507 | <context name="Attribute" attribute="Attribute" lineEndContext="#stay"> | 530 | <context name="Attribute" attribute="Attribute" lineEndContext="#stay"> | ||
531 | <DetectSpaces/> | ||||
508 | <keyword attribute="Standard Attribute" context="#stay" String="attributes" /> | 532 | <keyword attribute="Standard Attribute" context="#stay" String="attributes" /> | ||
533 | <keyword attribute="Standard Attribute" context="Contract Attribute" String="contractAttributes" /> | ||||
509 | <Detect2Chars attribute="Symbol" context="#pop" char="]" char1="]" /> | 534 | <Detect2Chars attribute="Symbol" context="#pop" char="]" char1="]" /> | ||
510 | <DetectChar attribute="Separator Symbol" context="#stay" char="," /> | 535 | <DetectChar attribute="Separator Symbol" context="#stay" char="," /> | ||
511 | <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" /> | 536 | <AnyChar attribute="Symbol" context="#stay" String="&punctuators;" /> | ||
512 | <!-- Attributes may contain some text: [[deprecated("Reason text")]] --> | 537 | <!-- Attributes may contain some text: [[deprecated("Reason text")]] --> | ||
513 | <DetectChar attribute="String" context="String" char=""" /> | 538 | <DetectChar attribute="String" context="String" char=""" /> | ||
514 | <AnyChar attribute="Decimal" context="Integer" String="0123456789" lookAhead="true" /> | 539 | <AnyChar attribute="Decimal" context="Integer" String="0123456789" lookAhead="true" /> | ||
515 | <keyword attribute="Keyword" context="AttributeNamespace" String="using" /> | 540 | <keyword attribute="Keyword" context="AttributeNamespace" String="using" /> | ||
516 | <IncludeRules context="DetectGccAttributes##GCCExtensions" /> | 541 | <IncludeRules context="DetectGccAttributes##GCCExtensions" /> | ||
517 | <RegExpr attribute="CONSTS/MACROS" context="#stay" String="[A-Z][A-Z0-9_]{2,}\b" /> | 542 | <RegExpr attribute="CONSTS/MACROS" context="#stay" String="[A-Z][A-Z0-9_]{2,}\b" /> | ||
518 | <DetectIdentifier /> | 543 | <DetectIdentifier /> | ||
519 | </context> | 544 | </context> | ||
520 | 545 | | |||
546 | <context name="Contract Attribute" attribute="Attribute" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop"> | ||||
547 | <DetectSpaces/> | ||||
548 | <keyword attribute="Standard Attribute" context="#pop" String="contractLevel" /> | ||||
549 | </context> | ||||
550 | | ||||
521 | <context name="Attribute In PP" attribute="Attribute" lineEndContext="#pop"> | 551 | <context name="Attribute In PP" attribute="Attribute" lineEndContext="#pop"> | ||
522 | <IncludeRules context="InPreprocessor" /> | 552 | <IncludeRules context="InPreprocessor" /> | ||
523 | <IncludeRules context="Attribute" /> | 553 | <IncludeRules context="Attribute" /> | ||
524 | </context> | 554 | </context> | ||
525 | 555 | | |||
526 | <context name="AttributeNamespace" attribute="Attribute" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop"> | 556 | <context name="AttributeNamespace" attribute="Attribute" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop"> | ||
527 | <DetectSpaces /> | 557 | <DetectSpaces /> | ||
528 | <IncludeRules context="DetectNamespaceGccAttributes##GCCExtensions" /> | 558 | <IncludeRules context="DetectNamespaceGccAttributes##GCCExtensions" /> | ||
▲ Show 20 Lines • Show All 297 Lines • Show Last 20 Lines |