]> git.lizzy.rs Git - rust.git/blob - src/etc/kate/rust.xml
Merge pull request #20674 from jbcrail/fix-misspelled-comments
[rust.git] / src / etc / kate / rust.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE language SYSTEM "language.dtd"
3 [
4         <!-- FIXME: Kate's regex engine has very limited support for
5         predefined char classes, so making rustIdent consistent with actual
6         Rust identifiers will be a bit difficult -->
7         <!ENTITY rustIdent "[a-zA-Z_][a-zA-Z_0-9]*">
8         <!ENTITY rustIntSuf "([iu](8|16|32|64)?)?">
9 ]>
10 <language name="Rust" version="1.0.0" kateversion="2.4" section="Sources" extensions="*.rs" mimetype="text/x-rust" priority="15">
11 <highlighting>
12         <list name="fn">
13                 <item> fn </item>
14         </list>
15         <list name="type">
16                 <item> type </item>
17         </list>
18         <list name="reserved">
19                 <item> abstract </item>
20                 <item> alignof </item>
21                 <item> be </item>
22                 <item> do </item>
23                 <item> final </item>
24                 <item> offsetof </item>
25                 <item> override </item>
26                 <item> priv </item>
27                 <item> pure </item>
28                 <item> sizeof </item>
29                 <item> typeof </item>
30                 <item> unsized </item>
31                 <item> yield </item>
32         </list>
33         <list name="keywords">
34                 <item> as </item>
35                 <item> box </item>
36                 <item> break </item>
37                 <item> const </item>
38                 <item> continue </item>
39                 <item> crate </item>
40                 <item> else </item>
41                 <item> enum </item>
42                 <item> extern </item>
43                 <item> for </item>
44                 <item> if </item>
45                 <item> impl </item>
46                 <item> in </item>
47                 <item> let </item>
48                 <item> loop </item>
49                 <item> match </item>
50                 <item> mod </item>
51                 <item> move </item>
52                 <item> mut </item>
53                 <item> pub </item>
54                 <item> ref </item>
55                 <item> return </item>
56                 <item> static </item>
57                 <item> struct </item>
58                 <item> super </item>
59                 <item> trait </item>
60                 <item> unsafe </item>
61                 <item> use </item>
62                 <item> virtual </item>
63                 <item> where </item>
64                 <item> while </item>
65         </list>
66         <list name="traits">
67                 <item> Const </item>
68                 <item> Copy </item>
69                 <item> Send </item>
70                 <item> Owned </item>
71                 <item> Sized </item>
72                 <item> Eq </item>
73                 <item> Ord </item>
74                 <item> Num </item>
75                 <item> Ptr </item>
76                 <item> Drop </item>
77                 <item> Add </item>
78                 <item> Sub </item>
79                 <item> Mul </item>
80                 <item> Quot </item>
81                 <item> Rem </item>
82                 <item> Neg </item>
83                 <item> BitAnd </item>
84                 <item> BitOr </item>
85                 <item> BitXor </item>
86                 <item> Shl </item>
87                 <item> Shr </item>
88                 <item> Index </item>
89                 <item> Not </item>
90         </list>
91         <list name="types">
92                 <item> bool </item>
93                 <item> int </item>
94                 <item> uint </item>
95                 <item> i8 </item>
96                 <item> i16 </item>
97                 <item> i32 </item>
98                 <item> i64 </item>
99                 <item> u8 </item>
100                 <item> u16 </item>
101                 <item> u32 </item>
102                 <item> u64 </item>
103                 <item> f32 </item>
104                 <item> f64 </item>
105                 <item> float </item>
106                 <item> char </item>
107                 <item> str </item>
108                 <item> Option </item>
109                 <item> Result </item>
110                 <item> Self </item>
111         </list>
112         <list name="ctypes">
113                 <item> c_float </item>
114                 <item> c_double </item>
115                 <item> c_void </item>
116                 <item> FILE </item>
117                 <item> fpos_t </item>
118                 <item> DIR </item>
119                 <item> dirent </item>
120                 <item> c_char </item>
121                 <item> c_schar </item>
122                 <item> c_uchar </item>
123                 <item> c_short </item>
124                 <item> c_ushort </item>
125                 <item> c_int </item>
126                 <item> c_uint </item>
127                 <item> c_long </item>
128                 <item> c_ulong </item>
129                 <item> size_t </item>
130                 <item> ptrdiff_t </item>
131                 <item> clock_t </item>
132                 <item> time_t </item>
133                 <item> c_longlong </item>
134                 <item> c_ulonglong </item>
135                 <item> intptr_t </item>
136                 <item> uintptr_t </item>
137                 <item> off_t </item>
138                 <item> dev_t </item>
139                 <item> ino_t </item>
140                 <item> pid_t </item>
141                 <item> mode_t </item>
142                 <item> ssize_t </item>
143         </list>
144         <list name="self">
145                 <item> self </item>
146         </list>
147         <list name="constants">
148                 <item> true </item>
149                 <item> false </item>
150                 <item> Some </item>
151                 <item> None </item>
152                 <item> Ok </item>
153                 <item> Err </item>
154                 <item> Success </item>
155                 <item> Failure </item>
156                 <item> Cons </item>
157                 <item> Nil </item>
158         </list>
159         <list name="cconstants">
160                 <item> EXIT_FAILURE </item>
161                 <item> EXIT_SUCCESS </item>
162                 <item> RAND_MAX </item>
163                 <item> EOF </item>
164                 <item> SEEK_SET </item>
165                 <item> SEEK_CUR </item>
166                 <item> SEEK_END </item>
167                 <item> _IOFBF </item>
168                 <item> _IONBF </item>
169                 <item> _IOLBF </item>
170                 <item> BUFSIZ </item>
171                 <item> FOPEN_MAX </item>
172                 <item> FILENAME_MAX </item>
173                 <item> L_tmpnam </item>
174                 <item> TMP_MAX </item>
175                 <item> O_RDONLY </item>
176                 <item> O_WRONLY </item>
177                 <item> O_RDWR </item>
178                 <item> O_APPEND </item>
179                 <item> O_CREAT </item>
180                 <item> O_EXCL </item>
181                 <item> O_TRUNC </item>
182                 <item> S_IFIFO </item>
183                 <item> S_IFCHR </item>
184                 <item> S_IFBLK </item>
185                 <item> S_IFDIR </item>
186                 <item> S_IFREG </item>
187                 <item> S_IFMT </item>
188                 <item> S_IEXEC </item>
189                 <item> S_IWRITE </item>
190                 <item> S_IREAD </item>
191                 <item> S_IRWXU </item>
192                 <item> S_IXUSR </item>
193                 <item> S_IWUSR </item>
194                 <item> S_IRUSR </item>
195                 <item> F_OK </item>
196                 <item> R_OK </item>
197                 <item> W_OK </item>
198                 <item> X_OK </item>
199                 <item> STDIN_FILENO </item>
200                 <item> STDOUT_FILENO </item>
201                 <item> STDERR_FILENO </item>
202         </list>
203         <contexts>
204                 <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
205                         <DetectSpaces/>
206                         <keyword String="fn" attribute="Keyword" context="Function"/>
207                         <keyword String="type" attribute="Keyword" context="Type"/>
208                         <keyword String="reserved" attribute="Keyword" context="#stay"/>
209                         <keyword String="keywords" attribute="Keyword" context="#stay"/>
210                         <keyword String="types" attribute="Type" context="#stay"/>
211                         <keyword String="traits" attribute="Trait" context="#stay"/>
212                         <keyword String="ctypes" attribute="CType" context="#stay"/>
213                         <keyword String="self" attribute="Self" context="#stay"/>
214                         <keyword String="constants" attribute="Constant" context="#stay"/>
215                         <keyword String="cconstants" attribute="CConstant" context="#stay"/>
216                         <Detect2Chars char="/" char1="/" attribute="Comment" context="Commentar 1"/>
217                         <Detect2Chars char="/" char1="*" attribute="Comment" context="Commentar 2" beginRegion="Comment"/>
218                         <RegExpr String="0x[0-9a-fA-F_]+&rustIntSuf;" attribute="Number" context="#stay"/>
219                         <RegExpr String="0o[0-7_]+&rustIntSuf;" attribute="Number" context="#stay"/>
220                         <RegExpr String="0b[0-1_]+&rustIntSuf;" attribute="Number" context="#stay"/>
221                         <RegExpr String="[0-9][0-9_]*\.[0-9_]*([eE][+-]?[0-9_]+)?(f32|f64|f)?" attribute="Number" context="#stay"/>
222                         <RegExpr String="[0-9][0-9_]*&rustIntSuf;" attribute="Number" context="#stay"/>
223                         <Detect2Chars char="#" char1="[" attribute="Attribute" context="Attribute" beginRegion="Attribute"/>
224                         <StringDetect String="#![" attribute="Attribute" context="Attribute" beginRegion="Attribute"/>
225                         <RegExpr String="&rustIdent;::" attribute="Scope"/>
226                         <RegExpr String="&rustIdent;!" attribute="Macro"/>
227                         <RegExpr String="&apos;&rustIdent;(?!&apos;)" attribute="Lifetime"/>
228                         <DetectChar char="{" attribute="Symbol" context="#stay" beginRegion="Brace" />
229                         <DetectChar char="}" attribute="Symbol" context="#stay" endRegion="Brace" />
230                         <DetectChar char="&quot;" attribute="String" context="String"/>
231                         <DetectChar char="&apos;" attribute="Character" context="Character"/>
232                         <DetectChar char="[" attribute="Symbol" context="#stay" beginRegion="Bracket" />
233                         <DetectChar char="]" attribute="Symbol" context="#stay" endRegion="Bracket" />
234                         <DetectIdentifier/>
235                 </context>
236                 <context attribute="Attribute" lineEndContext="#stay" name="Attribute">
237                         <DetectChar char="]" attribute="Attribute" context="#pop" endRegion="Attribute"/>
238                         <IncludeRules context="Normal"/>
239                 </context>
240                 <context attribute="Definition" lineEndContext="#stay" name="Function">
241                         <DetectSpaces/>
242                         <DetectChar char="(" attribute="Normal Text" context="#pop"/>
243                         <DetectChar char="&lt;" attribute="Normal Text" context="#pop"/>
244                 </context>
245                 <context attribute="Definition" lineEndContext="#stay" name="Type">
246                         <DetectSpaces/>
247                         <DetectChar char="=" attribute="Normal Text" context="#pop"/>
248                         <DetectChar char="&lt;" attribute="Normal Text" context="#pop"/>
249                 </context>
250                 <context attribute="String" lineEndContext="#stay" name="String">
251                         <LineContinue attribute="String" context="#stay"/>
252                         <DetectChar char="\" attribute="CharEscape" context="CharEscape"/>
253                         <DetectChar attribute="String" context="#pop" char="&quot;"/>
254                 </context>
255                 <context attribute="Character" lineEndContext="#pop" name="Character">
256                         <DetectChar char="\" attribute="CharEscape" context="CharEscape"/>
257                         <DetectChar attribute="Character" context="#pop" char="&apos;"/>
258                 </context>
259                 <context attribute="CharEscape" lineEndContext="#pop" name="CharEscape">
260                         <AnyChar String="nrt\&apos;&quot;" attribute="CharEscape" context="#pop"/>
261                         <RegExpr String="x[0-9a-fA-F]{2}" attribute="CharEscape" context="#pop"/>
262                         <RegExpr String="u\{[0-9a-fA-F]{1,6}\}" attribute="CharEscape" context="#pop"/>
263                         <RegExpr String="u[0-9a-fA-F]{4}" attribute="CharEscape" context="#pop"/>
264                         <RegExpr String="U[0-9a-fA-F]{8}" attribute="CharEscape" context="#pop"/>
265                         <RegExpr String="." attribute="Error" context="#pop"/>
266                 </context>
267                 <context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
268                 <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
269                         <DetectSpaces/>
270                         <Detect2Chars char="*" char1="/" attribute="Comment" context="#pop" endRegion="Comment"/>
271                 </context>
272         </contexts>
273         <itemDatas>
274                 <itemData name="Normal Text"  defStyleNum="dsNormal"/>
275                 <itemData name="Keyword"      defStyleNum="dsKeyword" color="#770088" bold="1"/>
276                 <itemData name="Self"         defStyleNum="dsKeyword" color="#FF0000" bold="1"/>
277                 <itemData name="Type"         defStyleNum="dsKeyword" color="#4e9a06" bold="1"/>
278                 <itemData name="Trait"        defStyleNum="dsKeyword" color="#4e9a06" bold="1"/>
279                 <itemData name="CType"        defStyleNum="dsNormal" color="#4e9a06"/>
280                 <itemData name="Constant"     defStyleNum="dsKeyword" color="#116644"/>
281                 <itemData name="CConstant"    defStyleNum="dsNormal" color="#116644"/>
282                 <itemData name="Definition"   defStyleNum="dsNormal" color="#0000FF"/>
283                 <itemData name="Comment"      defStyleNum="dsComment" color="#AA5500"/>
284                 <itemData name="Scope"        defStyleNum="dsNormal" color="#0055AA"/>
285                 <itemData name="Number"       defStyleNum="dsDecVal" color="#116644"/>
286                 <itemData name="String"       defStyleNum="dsString" color="#FF0000"/>
287                 <itemData name="CharEscape"   defStyleNum="dsChar" color="#FF0000" bold="1"/>
288                 <itemData name="Character"    defStyleNum="dsChar" color="#FF0000"/>
289                 <itemData name="Macro"        defStyleNum="dsOthers"/>
290                 <itemData name="Attribute"    defStyleNum="dsOthers"/>
291                 <itemData name="Lifetime"     defStyleNum="dsOthers" bold="1"/>
292                 <itemData name="Error"        defStyleNum="dsError"/>
293         </itemDatas>
294 </highlighting>
295 <general>
296         <comments>
297                 <comment name="singleLine" start="//" />
298                 <comment name="multiLine" start="/*" end="*/" region="Comment"/>
299         </comments>
300         <keywords casesensitive="1" />
301 </general>
302 </language>