51092bc8b04fbb12b134c04b83d17507181b6d07
[quassel.git] / src / contrib / libqxt-2007-10-24 / extras / syntax_highlighting / kate / cpp.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE language SYSTEM "language.dtd">
3 <language name="C++(qxt)" version="1.38" kateversion="2.4" section="Sources" extensions="*.c++;*.cxx;*.cpp;*.cc;*.C;*.h;*.hh;*.H;*.h++;*.hxx;*.hpp;*.hcc;*.moc" mimetype="text/x-c++src;text/x-c++hdr;text/x-chdr" priority="9">
4   <highlighting>
5     <list name="keywords">
6       <item> asm </item>
7       <item> break </item>
8       <item> case </item>
9       <item> catch </item>
10       <item> class </item>
11       <item> const_cast </item>
12       <item> continue </item>
13       <item> default </item>
14       <item> delete </item>
15       <item> do </item>
16       <item> dynamic_cast</item>
17       <item> else </item>
18       <item> enum </item>
19       <item> explicit </item>
20       <item> export </item>
21       <item> extern </item>
22       <item> false </item>
23       <item> friend </item>
24       <item> for </item>
25       <item> goto </item>
26       <item> if </item>
27       <item> inline </item>
28       <item> namespace </item>
29       <item> new </item>
30       <item> operator </item>
31       <item> private </item>
32       <item> protected </item>
33       <item> public </item>
34       <item> qobject_cast </item>
35       <item> reinterpret_cast </item>
36       <item> return </item>
37       <item> sizeof </item>
38       <item> static_cast </item>
39       <item> struct </item>
40       <item> switch </item>
41       <item> template </item>
42       <item> this </item>
43       <item> throw </item>
44       <item> true </item>
45       <item> try </item>
46       <item> typedef </item>
47       <item> typeid </item>
48       <item> type_info </item>
49       <item> typename </item>
50       <item> union </item>
51       <item> using </item>
52       <item> virtual </item>
53       <item> while </item>
54
55       <item> and </item>
56       <item> and_eq </item>
57       <item> bad_cast </item>
58       <item> bad_typeid </item>
59       <item> bitand </item>
60       <item> bitor </item>
61       <item> compl </item>
62       <item> not </item>
63       <item> not_eq </item>
64       <item> or </item>
65       <item> or_eq </item>
66       <item> xor </item>
67       <item> xor_eq </item>
68       <item> except </item>
69       <item> finally </item>
70       <item> xalloc </item>
71     </list>
72     <list name="extensions">
73       <item> K_DCOP </item>
74       <item> SLOT </item>
75       <item> SIGNAL </item>
76       <item> Q_CLASSINFO </item>
77       <item> Q_ENUMS </item>
78       <item> Q_EXPORT </item>
79       <item> Q_OBJECT </item>
80       <item> Q_OVERRIDE </item>
81       <item> Q_PROPERTY </item>
82       <item> Q_SETS </item>
83       <item> Q_SIGNALS </item>
84       <item> Q_SLOTS </item>
85       <item> Q_FOREACH </item>
86       <item> Q_DECLARE_FLAGS </item>
87       <item> Q_INIT_RESOURCE </item>
88       <item> Q_CLEANUP_RESOURCE </item>
89       <item> Q_GLOBAL_STATIC </item>
90       <item> Q_GLOBAL_STATIC_WITH_ARGS </item>
91       <item> Q_DECLARE_INTERFACE </item>
92       <item> Q_DECLARE_TYPEINFO </item>
93       <item> Q_DECLARE_SHARED </item>
94       <item> Q_DECLARE_FLAGS </item>
95       <item> Q_DECLARE_OPERATORS_FOR_FLAGS </item>
96       <item> Q_FOREVER </item>
97       <item> Q_DECLARE_PRIVATE </item>
98       <item> Q_DECLARE_PUBLIC </item>
99       <item> Q_D </item>
100       <item> Q_Q </item>
101       <item> Q_DISABLE_COPY </item>
102       <item> Q_INTERFACES </item>
103       <item> Q_FLAGS </item>
104       <item> Q_SCRIPTABLE </item>
105       <item> Q_INVOKABLE </item>
106       <item> Q_GADGET </item>
107       <item> Q_ARG </item>
108       <item> Q_RETURN_ARG </item>
109       <item> Q_ASSERT </item>
110       <item> Q_ASSERT_X </item>
111       <item> TRUE </item>
112       <item> FALSE </item>
113       <item> connect </item>
114       <item> disconnect </item>
115       <item> emit </item>
116       <item> signals </item>
117       <item> slots </item>
118       <item> foreach </item>
119       <item> forever </item>
120     </list>
121     <list name="qxt">
122       <item> SKIP </item>
123       <item> QXT_INIT_PRIVATE </item>
124       <item> QXT_DECLARE_PUBLIC </item>
125       <item> QXT_DECLARE_PRIVATE </item>
126       <item> BALL </item>
127       <item> QXT_DROP </item>
128       <item> QXT_DROP_OK </item>
129       <item> QXT_DROP_F </item>     
130       <item> QXT_DROP_SCOPE </item>         
131       <item> QXT_DROP_S </item>     
132       <item> Qxt </item>            
133     </list>
134     <list name="types">
135       <item> auto </item>
136       <item> bool </item>
137       <item> char </item>
138       <item> const </item>
139       <item> double </item>
140       <item> float </item>
141       <item> int </item>
142       <item> long </item>
143       <item> mutable </item>
144       <item> register </item>
145       <item> short </item>
146       <item> signed </item>
147       <item> static </item>
148       <item> unsigned </item>
149       <item> void </item>
150       <item> volatile </item>
151       <item> uchar </item>
152       <item> uint </item>
153       <item> int8_t </item>
154       <item> int16_t </item>
155       <item> int32_t </item>
156       <item> int64_t </item>
157       <item> uint8_t </item>
158       <item> uint16_t </item>
159       <item> uint32_t </item>
160       <item> uint64_t </item>
161       <item> wchar_t </item>
162     </list>
163     <contexts>
164       <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
165         <DetectSpaces />
166         <RegExpr attribute="Preprocessor" context="Outscoped" String="#\s*if\s+0" beginRegion="Outscoped" firstNonSpace="true" />
167         <DetectChar attribute="Preprocessor" context="Preprocessor" char="#" firstNonSpace="true" />
168         <StringDetect attribute="Region Marker" context="Region Marker" String="//BEGIN" beginRegion="Region1" firstNonSpace="true" />
169         <StringDetect attribute="Region Marker" context="Region Marker" String="//END" endRegion="Region1" firstNonSpace="true" />
170         <keyword attribute="Keyword" context="#stay" String="keywords" />
171         <keyword attribute="Extensions" context="#stay" String="extensions" />
172         <keyword attribute="Qxt" context="#stay" String="qxt" />
173         <keyword attribute="Data Type" context="#stay" String="types" />
174         <HlCChar attribute="Char" context="#stay"/>
175         <DetectChar attribute="String" context="String" char="&quot;"/>
176         <DetectIdentifier />
177         <Float attribute="Float" context="#stay">
178           <AnyChar String="fF" attribute="Float" context="#stay"/>
179         </Float>
180         <HlCOct attribute="Octal" context="#stay"/>
181         <HlCHex attribute="Hex" context="#stay"/>
182         <Int attribute="Decimal" context="#stay">
183           <StringDetect attribute="Decimal" context="#stay" String="ULL" insensitive="TRUE"/>
184           <StringDetect attribute="Decimal" context="#stay" String="LUL" insensitive="TRUE"/>
185           <StringDetect attribute="Decimal" context="#stay" String="LLU" insensitive="TRUE"/>
186           <StringDetect attribute="Decimal" context="#stay" String="UL" insensitive="TRUE"/>
187           <StringDetect attribute="Decimal" context="#stay" String="LU" insensitive="TRUE"/>
188           <StringDetect attribute="Decimal" context="#stay" String="LL" insensitive="TRUE"/>
189           <StringDetect attribute="Decimal" context="#stay" String="U" insensitive="TRUE"/>
190           <StringDetect attribute="Decimal" context="#stay" String="L" insensitive="TRUE"/>
191         </Int>
192         <IncludeRules context="##Doxygen" />
193         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
194         <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
195         <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1" />
196         <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1" />
197         <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]{|}~^&#59;"/>
198       </context>
199       <context attribute="String" lineEndContext="#pop" name="String">
200         <LineContinue attribute="String" context="#stay"/>
201         <HlCStringChar attribute="String Char" context="#stay"/>
202         <DetectChar attribute="String" context="#pop" char="&quot;"/>
203       </context>
204       <context attribute="Region Marker" lineEndContext="#pop" name="Region Marker">
205       </context>
206       <context attribute="Comment" lineEndContext="#pop" name="Commentar 1">
207         <DetectSpaces />
208         <IncludeRules context="##Alerts" />
209         <DetectIdentifier />
210       </context>
211       <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
212         <DetectSpaces />
213         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
214         <IncludeRules context="##Alerts" />
215         <DetectIdentifier />
216       </context>
217       <context attribute="Preprocessor" lineEndContext="#pop" name="Preprocessor">
218         <LineContinue attribute="Preprocessor" context="#stay"/>
219         <RegExpr attribute="Preprocessor" context="Define" String="define.*((?=\\))"/>
220         <RegExpr attribute="Preprocessor" context="#stay" String="define.*"/>
221         <RangeDetect attribute="Prep. Lib" context="#stay" char="&quot;" char1="&quot;"/>
222         <RangeDetect attribute="Prep. Lib" context="#stay" char="&lt;" char1="&gt;"/>
223         <IncludeRules context="##Doxygen" />
224         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
225         <Detect2Chars attribute="Comment" context="Commentar/Preprocessor" char="/" char1="*"/>
226       </context>
227       <context attribute="Preprocessor" lineEndContext="#pop" name="Define">
228         <LineContinue attribute="Preprocessor" context="#stay"/>
229       </context>
230       <context attribute="Comment" lineEndContext="#stay" name="Commentar/Preprocessor">
231         <DetectSpaces />
232         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" />
233         <DetectIdentifier />
234       </context>
235       <context attribute="Comment" lineEndContext="#stay" name="Outscoped" >
236         <DetectSpaces />
237         <IncludeRules context="##Alerts" />
238         <DetectIdentifier />
239         <DetectChar attribute="String" context="String" char="&quot;"/>
240         <IncludeRules context="##Doxygen" />
241         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
242         <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
243         <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="Outscoped" firstNonSpace="true" />
244         <RegExpr attribute="Preprocessor" context="#pop" String="#\s*(endif|else|elif)" endRegion="Outscoped" firstNonSpace="true" />
245       </context>
246       <context attribute="Comment" lineEndContext="#stay" name="Outscoped intern">
247         <DetectSpaces />
248         <IncludeRules context="##Alerts" />
249         <DetectIdentifier />
250         <DetectChar attribute="String" context="String" char="&quot;"/>
251         <IncludeRules context="##Doxygen" />
252         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
253         <Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
254         <RegExpr attribute="Comment" context="Outscoped intern" String="#\s*if" beginRegion="Outscoped" firstNonSpace="true"/>
255         <RegExpr attribute="Comment" context="#pop" String="#\s*endif" endRegion="Outscoped" firstNonSpace="true"/>
256       </context>
257     </contexts>
258     <itemDatas>
259       <itemData name="Normal Text"  defStyleNum="dsNormal"/>
260       <itemData name="Keyword"      defStyleNum="dsKeyword"/>
261       <itemData name="Extensions"   defStyleNum="dsKeyword" color="#0095ff" selColor="#ffffff" bold="1" italic="0"/>
262       <itemData name="Qxt"          defStyleNum="dsKeyword" color="#9500ff" selColor="#ffffff" bold="1" italic="0"/>
263       <itemData name="Data Type"    defStyleNum="dsDataType"/>
264       <itemData name="Decimal"      defStyleNum="dsDecVal"/>
265       <itemData name="Octal"        defStyleNum="dsBaseN"/>
266       <itemData name="Hex"          defStyleNum="dsBaseN"/>
267       <itemData name="Float"        defStyleNum="dsFloat"/>
268       <itemData name="Char"         defStyleNum="dsChar"/>
269       <itemData name="String"       defStyleNum="dsString"/>
270       <itemData name="String Char"  defStyleNum="dsChar"/>
271       <itemData name="Comment"      defStyleNum="dsComment"/>
272       <itemData name="Symbol"       defStyleNum="dsNormal"/>
273       <itemData name="Preprocessor" defStyleNum="dsOthers"/>
274       <itemData name="Prep. Lib"    defStyleNum="dsOthers"/>
275       <itemData name="Region Marker" defStyleNum="dsRegionMarker" />
276     </itemDatas>
277   </highlighting>
278   <general>
279     <comments>
280       <comment name="singleLine" start="//" />
281       <comment name="multiLine" start="/*" end="*/" region="Comment"/>
282     </comments>
283     <keywords casesensitive="1" />
284   </general>
285 </language>