comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cython.xml @ 66:787b5ee0289d draft

Use vendored modules Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author yakumo.izuru
date Sun, 23 Jul 2023 13:18:53 +0000
parents
children
comparison
equal deleted inserted replaced
65:6d985efa0f7a 66:787b5ee0289d
1 <lexer>
2 <config>
3 <name>Cython</name>
4 <alias>cython</alias>
5 <alias>pyx</alias>
6 <alias>pyrex</alias>
7 <filename>*.pyx</filename>
8 <filename>*.pxd</filename>
9 <filename>*.pxi</filename>
10 <mime_type>text/x-cython</mime_type>
11 <mime_type>application/x-cython</mime_type>
12 </config>
13 <rules>
14 <state name="funcname">
15 <rule pattern="[a-zA-Z_]\w*">
16 <token type="NameFunction"/>
17 <pop depth="1"/>
18 </rule>
19 </state>
20 <state name="root">
21 <rule pattern="\n">
22 <token type="Text"/>
23 </rule>
24 <rule pattern="^(\s*)(&#34;&#34;&#34;(?:.|\n)*?&#34;&#34;&#34;)">
25 <bygroups>
26 <token type="Text"/>
27 <token type="LiteralStringDoc"/>
28 </bygroups>
29 </rule>
30 <rule pattern="^(\s*)(&#39;&#39;&#39;(?:.|\n)*?&#39;&#39;&#39;)">
31 <bygroups>
32 <token type="Text"/>
33 <token type="LiteralStringDoc"/>
34 </bygroups>
35 </rule>
36 <rule pattern="[^\S\n]+">
37 <token type="Text"/>
38 </rule>
39 <rule pattern="#.*$">
40 <token type="Comment"/>
41 </rule>
42 <rule pattern="[]{}:(),;[]">
43 <token type="Punctuation"/>
44 </rule>
45 <rule pattern="\\\n">
46 <token type="Text"/>
47 </rule>
48 <rule pattern="\\">
49 <token type="Text"/>
50 </rule>
51 <rule pattern="(in|is|and|or|not)\b">
52 <token type="OperatorWord"/>
53 </rule>
54 <rule pattern="(&lt;)([a-zA-Z0-9.?]+)(&gt;)">
55 <bygroups>
56 <token type="Punctuation"/>
57 <token type="KeywordType"/>
58 <token type="Punctuation"/>
59 </bygroups>
60 </rule>
61 <rule pattern="!=|==|&lt;&lt;|&gt;&gt;|[-~+/*%=&lt;&gt;&amp;^|.?]">
62 <token type="Operator"/>
63 </rule>
64 <rule pattern="(from)(\d+)(&lt;=)(\s+)(&lt;)(\d+)(:)">
65 <bygroups>
66 <token type="Keyword"/>
67 <token type="LiteralNumberInteger"/>
68 <token type="Operator"/>
69 <token type="Name"/>
70 <token type="Operator"/>
71 <token type="Name"/>
72 <token type="Punctuation"/>
73 </bygroups>
74 </rule>
75 <rule>
76 <include state="keywords"/>
77 </rule>
78 <rule pattern="(def|property)(\s+)">
79 <bygroups>
80 <token type="Keyword"/>
81 <token type="Text"/>
82 </bygroups>
83 <push state="funcname"/>
84 </rule>
85 <rule pattern="(cp?def)(\s+)">
86 <bygroups>
87 <token type="Keyword"/>
88 <token type="Text"/>
89 </bygroups>
90 <push state="cdef"/>
91 </rule>
92 <rule pattern="(cdef)(:)">
93 <bygroups>
94 <token type="Keyword"/>
95 <token type="Punctuation"/>
96 </bygroups>
97 </rule>
98 <rule pattern="(class|struct)(\s+)">
99 <bygroups>
100 <token type="Keyword"/>
101 <token type="Text"/>
102 </bygroups>
103 <push state="classname"/>
104 </rule>
105 <rule pattern="(from)(\s+)">
106 <bygroups>
107 <token type="Keyword"/>
108 <token type="Text"/>
109 </bygroups>
110 <push state="fromimport"/>
111 </rule>
112 <rule pattern="(c?import)(\s+)">
113 <bygroups>
114 <token type="Keyword"/>
115 <token type="Text"/>
116 </bygroups>
117 <push state="import"/>
118 </rule>
119 <rule>
120 <include state="builtins"/>
121 </rule>
122 <rule>
123 <include state="backtick"/>
124 </rule>
125 <rule pattern="(?:[rR]|[uU][rR]|[rR][uU])&#34;&#34;&#34;">
126 <token type="LiteralString"/>
127 <push state="tdqs"/>
128 </rule>
129 <rule pattern="(?:[rR]|[uU][rR]|[rR][uU])&#39;&#39;&#39;">
130 <token type="LiteralString"/>
131 <push state="tsqs"/>
132 </rule>
133 <rule pattern="(?:[rR]|[uU][rR]|[rR][uU])&#34;">
134 <token type="LiteralString"/>
135 <push state="dqs"/>
136 </rule>
137 <rule pattern="(?:[rR]|[uU][rR]|[rR][uU])&#39;">
138 <token type="LiteralString"/>
139 <push state="sqs"/>
140 </rule>
141 <rule pattern="[uU]?&#34;&#34;&#34;">
142 <token type="LiteralString"/>
143 <combined state="stringescape" state="tdqs"/>
144 </rule>
145 <rule pattern="[uU]?&#39;&#39;&#39;">
146 <token type="LiteralString"/>
147 <combined state="stringescape" state="tsqs"/>
148 </rule>
149 <rule pattern="[uU]?&#34;">
150 <token type="LiteralString"/>
151 <combined state="stringescape" state="dqs"/>
152 </rule>
153 <rule pattern="[uU]?&#39;">
154 <token type="LiteralString"/>
155 <combined state="stringescape" state="sqs"/>
156 </rule>
157 <rule>
158 <include state="name"/>
159 </rule>
160 <rule>
161 <include state="numbers"/>
162 </rule>
163 </state>
164 <state name="stringescape">
165 <rule pattern="\\([\\abfnrtv&#34;\&#39;]|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})">
166 <token type="LiteralStringEscape"/>
167 </rule>
168 </state>
169 <state name="strings">
170 <rule pattern="%(\([a-zA-Z0-9]+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]">
171 <token type="LiteralStringInterpol"/>
172 </rule>
173 <rule pattern="[^\\\&#39;&#34;%\n]+">
174 <token type="LiteralString"/>
175 </rule>
176 <rule pattern="[\&#39;&#34;\\]">
177 <token type="LiteralString"/>
178 </rule>
179 <rule pattern="%">
180 <token type="LiteralString"/>
181 </rule>
182 </state>
183 <state name="backtick">
184 <rule pattern="`.*?`">
185 <token type="LiteralStringBacktick"/>
186 </rule>
187 </state>
188 <state name="numbers">
189 <rule pattern="(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?">
190 <token type="LiteralNumberFloat"/>
191 </rule>
192 <rule pattern="0\d+">
193 <token type="LiteralNumberOct"/>
194 </rule>
195 <rule pattern="0[xX][a-fA-F0-9]+">
196 <token type="LiteralNumberHex"/>
197 </rule>
198 <rule pattern="\d+L">
199 <token type="LiteralNumberIntegerLong"/>
200 </rule>
201 <rule pattern="\d+">
202 <token type="LiteralNumberInteger"/>
203 </rule>
204 </state>
205 <state name="keywords">
206 <rule pattern="(continue|ctypedef|except\?|include|finally|global|return|lambda|assert|except|print|nogil|while|fused|yield|break|raise|exec|else|elif|pass|with|gil|for|try|del|by|as|if)\b">
207 <token type="Keyword"/>
208 </rule>
209 <rule pattern="(DEF|IF|ELIF|ELSE)\b">
210 <token type="CommentPreproc"/>
211 </rule>
212 </state>
213 <state name="fromimport">
214 <rule pattern="(\s+)(c?import)\b">
215 <bygroups>
216 <token type="Text"/>
217 <token type="Keyword"/>
218 </bygroups>
219 <pop depth="1"/>
220 </rule>
221 <rule pattern="[a-zA-Z_.][\w.]*">
222 <token type="NameNamespace"/>
223 </rule>
224 <rule>
225 <pop depth="1"/>
226 </rule>
227 </state>
228 <state name="nl">
229 <rule pattern="\n">
230 <token type="LiteralString"/>
231 </rule>
232 </state>
233 <state name="dqs">
234 <rule pattern="&#34;">
235 <token type="LiteralString"/>
236 <pop depth="1"/>
237 </rule>
238 <rule pattern="\\\\|\\&#34;|\\\n">
239 <token type="LiteralStringEscape"/>
240 </rule>
241 <rule>
242 <include state="strings"/>
243 </rule>
244 </state>
245 <state name="tsqs">
246 <rule pattern="&#39;&#39;&#39;">
247 <token type="LiteralString"/>
248 <pop depth="1"/>
249 </rule>
250 <rule>
251 <include state="strings"/>
252 </rule>
253 <rule>
254 <include state="nl"/>
255 </rule>
256 </state>
257 <state name="import">
258 <rule pattern="(\s+)(as)(\s+)">
259 <bygroups>
260 <token type="Text"/>
261 <token type="Keyword"/>
262 <token type="Text"/>
263 </bygroups>
264 </rule>
265 <rule pattern="[a-zA-Z_][\w.]*">
266 <token type="NameNamespace"/>
267 </rule>
268 <rule pattern="(\s*)(,)(\s*)">
269 <bygroups>
270 <token type="Text"/>
271 <token type="Operator"/>
272 <token type="Text"/>
273 </bygroups>
274 </rule>
275 <rule>
276 <pop depth="1"/>
277 </rule>
278 </state>
279 <state name="name">
280 <rule pattern="@\w+">
281 <token type="NameDecorator"/>
282 </rule>
283 <rule pattern="[a-zA-Z_]\w*">
284 <token type="Name"/>
285 </rule>
286 </state>
287 <state name="cdef">
288 <rule pattern="(public|readonly|extern|api|inline)\b">
289 <token type="KeywordReserved"/>
290 </rule>
291 <rule pattern="(struct|enum|union|class)\b">
292 <token type="Keyword"/>
293 </rule>
294 <rule pattern="([a-zA-Z_]\w*)(\s*)(?=[(:#=]|$)">
295 <bygroups>
296 <token type="NameFunction"/>
297 <token type="Text"/>
298 </bygroups>
299 <pop depth="1"/>
300 </rule>
301 <rule pattern="([a-zA-Z_]\w*)(\s*)(,)">
302 <bygroups>
303 <token type="NameFunction"/>
304 <token type="Text"/>
305 <token type="Punctuation"/>
306 </bygroups>
307 </rule>
308 <rule pattern="from\b">
309 <token type="Keyword"/>
310 <pop depth="1"/>
311 </rule>
312 <rule pattern="as\b">
313 <token type="Keyword"/>
314 </rule>
315 <rule pattern=":">
316 <token type="Punctuation"/>
317 <pop depth="1"/>
318 </rule>
319 <rule pattern="(?=[&#34;\&#39;])">
320 <token type="Text"/>
321 <pop depth="1"/>
322 </rule>
323 <rule pattern="[a-zA-Z_]\w*">
324 <token type="KeywordType"/>
325 </rule>
326 <rule pattern=".">
327 <token type="Text"/>
328 </rule>
329 </state>
330 <state name="classname">
331 <rule pattern="[a-zA-Z_]\w*">
332 <token type="NameClass"/>
333 <pop depth="1"/>
334 </rule>
335 </state>
336 <state name="sqs">
337 <rule pattern="&#39;">
338 <token type="LiteralString"/>
339 <pop depth="1"/>
340 </rule>
341 <rule pattern="\\\\|\\&#39;|\\\n">
342 <token type="LiteralStringEscape"/>
343 </rule>
344 <rule>
345 <include state="strings"/>
346 </rule>
347 </state>
348 <state name="tdqs">
349 <rule pattern="&#34;&#34;&#34;">
350 <token type="LiteralString"/>
351 <pop depth="1"/>
352 </rule>
353 <rule>
354 <include state="strings"/>
355 </rule>
356 <rule>
357 <include state="nl"/>
358 </rule>
359 </state>
360 <state name="builtins">
361 <rule pattern="(?&lt;!\.)(staticmethod|classmethod|__import__|issubclass|isinstance|basestring|bytearray|raw_input|frozenset|enumerate|property|unsigned|reversed|callable|execfile|hasattr|compile|complex|delattr|setattr|unicode|globals|getattr|reload|divmod|xrange|unichr|filter|reduce|buffer|intern|coerce|sorted|locals|object|round|input|range|super|tuple|bytes|float|slice|apply|bool|long|exit|vars|file|next|type|iter|open|dict|repr|hash|list|eval|oct|map|zip|int|hex|set|sum|chr|cmp|any|str|pow|ord|dir|len|min|all|abs|max|bin|id)\b">
362 <token type="NameBuiltin"/>
363 </rule>
364 <rule pattern="(?&lt;!\.)(self|None|Ellipsis|NotImplemented|False|True|NULL)\b">
365 <token type="NameBuiltinPseudo"/>
366 </rule>
367 <rule pattern="(?&lt;!\.)(PendingDeprecationWarning|UnicodeTranslateError|NotImplementedError|FloatingPointError|DeprecationWarning|UnicodeDecodeError|UnicodeEncodeError|UnboundLocalError|KeyboardInterrupt|ZeroDivisionError|IndentationError|EnvironmentError|OverflowWarning|ArithmeticError|RuntimeWarning|UnicodeWarning|AttributeError|AssertionError|NotImplemented|ReferenceError|StopIteration|SyntaxWarning|OverflowError|GeneratorExit|FutureWarning|BaseException|ImportWarning|StandardError|RuntimeError|UnicodeError|LookupError|ImportError|SyntaxError|MemoryError|SystemError|UserWarning|SystemExit|ValueError|IndexError|NameError|TypeError|Exception|KeyError|EOFError|TabError|OSError|Warning|IOError)\b">
368 <token type="NameException"/>
369 </rule>
370 </state>
371 </rules>
372 </lexer>