Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ada.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>Ada</name> | |
4 <alias>ada</alias> | |
5 <alias>ada95</alias> | |
6 <alias>ada2005</alias> | |
7 <filename>*.adb</filename> | |
8 <filename>*.ads</filename> | |
9 <filename>*.ada</filename> | |
10 <mime_type>text/x-ada</mime_type> | |
11 <case_insensitive>true</case_insensitive> | |
12 </config> | |
13 <rules> | |
14 <state name="end"> | |
15 <rule pattern="(if|case|record|loop|select)"> | |
16 <token type="KeywordReserved"/> | |
17 </rule> | |
18 <rule pattern=""[^"]+"|[\w.]+"> | |
19 <token type="NameFunction"/> | |
20 </rule> | |
21 <rule pattern="\s+"> | |
22 <token type="Text"/> | |
23 </rule> | |
24 <rule pattern=";"> | |
25 <token type="Punctuation"/> | |
26 <pop depth="1"/> | |
27 </rule> | |
28 </state> | |
29 <state name="array_def"> | |
30 <rule pattern=";"> | |
31 <token type="Punctuation"/> | |
32 <pop depth="1"/> | |
33 </rule> | |
34 <rule pattern="(\w+)(\s+)(range)"> | |
35 <bygroups> | |
36 <token type="KeywordType"/> | |
37 <token type="Text"/> | |
38 <token type="KeywordReserved"/> | |
39 </bygroups> | |
40 </rule> | |
41 <rule> | |
42 <include state="root"/> | |
43 </rule> | |
44 </state> | |
45 <state name="package_instantiation"> | |
46 <rule pattern="("[^"]+"|\w+)(\s+)(=>)"> | |
47 <bygroups> | |
48 <token type="NameVariable"/> | |
49 <token type="Text"/> | |
50 <token type="Punctuation"/> | |
51 </bygroups> | |
52 </rule> | |
53 <rule pattern="[\w.\'"]"> | |
54 <token type="Text"/> | |
55 </rule> | |
56 <rule pattern="\)"> | |
57 <token type="Punctuation"/> | |
58 <pop depth="1"/> | |
59 </rule> | |
60 <rule> | |
61 <include state="root"/> | |
62 </rule> | |
63 </state> | |
64 <state name="subprogram"> | |
65 <rule pattern="\("> | |
66 <token type="Punctuation"/> | |
67 <push state="#pop" state="formal_part"/> | |
68 </rule> | |
69 <rule pattern=";"> | |
70 <token type="Punctuation"/> | |
71 <pop depth="1"/> | |
72 </rule> | |
73 <rule pattern="is\b"> | |
74 <token type="KeywordReserved"/> | |
75 <pop depth="1"/> | |
76 </rule> | |
77 <rule pattern=""[^"]+"|\w+"> | |
78 <token type="NameFunction"/> | |
79 </rule> | |
80 <rule> | |
81 <include state="root"/> | |
82 </rule> | |
83 </state> | |
84 <state name="type_def"> | |
85 <rule pattern=";"> | |
86 <token type="Punctuation"/> | |
87 <pop depth="1"/> | |
88 </rule> | |
89 <rule pattern="\("> | |
90 <token type="Punctuation"/> | |
91 <push state="formal_part"/> | |
92 </rule> | |
93 <rule pattern="with|and|use"> | |
94 <token type="KeywordReserved"/> | |
95 </rule> | |
96 <rule pattern="array\b"> | |
97 <token type="KeywordReserved"/> | |
98 <push state="#pop" state="array_def"/> | |
99 </rule> | |
100 <rule pattern="record\b"> | |
101 <token type="KeywordReserved"/> | |
102 <push state="record_def"/> | |
103 </rule> | |
104 <rule pattern="(null record)(;)"> | |
105 <bygroups> | |
106 <token type="KeywordReserved"/> | |
107 <token type="Punctuation"/> | |
108 </bygroups> | |
109 <pop depth="1"/> | |
110 </rule> | |
111 <rule> | |
112 <include state="root"/> | |
113 </rule> | |
114 </state> | |
115 <state name="import"> | |
116 <rule pattern="[\w.]+"> | |
117 <token type="NameNamespace"/> | |
118 <pop depth="1"/> | |
119 </rule> | |
120 <rule> | |
121 <pop depth="1"/> | |
122 </rule> | |
123 </state> | |
124 <state name="formal_part"> | |
125 <rule pattern="\)"> | |
126 <token type="Punctuation"/> | |
127 <pop depth="1"/> | |
128 </rule> | |
129 <rule pattern="\w+"> | |
130 <token type="NameVariable"/> | |
131 </rule> | |
132 <rule pattern=",|:[^=]"> | |
133 <token type="Punctuation"/> | |
134 </rule> | |
135 <rule pattern="(in|not|null|out|access)\b"> | |
136 <token type="KeywordReserved"/> | |
137 </rule> | |
138 <rule> | |
139 <include state="root"/> | |
140 </rule> | |
141 </state> | |
142 <state name="package"> | |
143 <rule pattern="body"> | |
144 <token type="KeywordDeclaration"/> | |
145 </rule> | |
146 <rule pattern="is\s+new|renames"> | |
147 <token type="KeywordReserved"/> | |
148 </rule> | |
149 <rule pattern="is"> | |
150 <token type="KeywordReserved"/> | |
151 <pop depth="1"/> | |
152 </rule> | |
153 <rule pattern=";"> | |
154 <token type="Punctuation"/> | |
155 <pop depth="1"/> | |
156 </rule> | |
157 <rule pattern="\("> | |
158 <token type="Punctuation"/> | |
159 <push state="package_instantiation"/> | |
160 </rule> | |
161 <rule pattern="([\w.]+)"> | |
162 <token type="NameClass"/> | |
163 </rule> | |
164 <rule> | |
165 <include state="root"/> | |
166 </rule> | |
167 </state> | |
168 <state name="attribute"> | |
169 <rule pattern="(')(\w+)"> | |
170 <bygroups> | |
171 <token type="Punctuation"/> | |
172 <token type="NameAttribute"/> | |
173 </bygroups> | |
174 </rule> | |
175 </state> | |
176 <state name="record_def"> | |
177 <rule pattern="end record"> | |
178 <token type="KeywordReserved"/> | |
179 <pop depth="1"/> | |
180 </rule> | |
181 <rule> | |
182 <include state="root"/> | |
183 </rule> | |
184 </state> | |
185 <state name="root"> | |
186 <rule pattern="[^\S\n]+"> | |
187 <token type="Text"/> | |
188 </rule> | |
189 <rule pattern="--.*?\n"> | |
190 <token type="CommentSingle"/> | |
191 </rule> | |
192 <rule pattern="[^\S\n]+"> | |
193 <token type="Text"/> | |
194 </rule> | |
195 <rule pattern="function|procedure|entry"> | |
196 <token type="KeywordDeclaration"/> | |
197 <push state="subprogram"/> | |
198 </rule> | |
199 <rule pattern="(subtype|type)(\s+)(\w+)"> | |
200 <bygroups> | |
201 <token type="KeywordDeclaration"/> | |
202 <token type="Text"/> | |
203 <token type="KeywordType"/> | |
204 </bygroups> | |
205 <push state="type_def"/> | |
206 </rule> | |
207 <rule pattern="task|protected"> | |
208 <token type="KeywordDeclaration"/> | |
209 </rule> | |
210 <rule pattern="(subtype)(\s+)"> | |
211 <bygroups> | |
212 <token type="KeywordDeclaration"/> | |
213 <token type="Text"/> | |
214 </bygroups> | |
215 </rule> | |
216 <rule pattern="(end)(\s+)"> | |
217 <bygroups> | |
218 <token type="KeywordReserved"/> | |
219 <token type="Text"/> | |
220 </bygroups> | |
221 <push state="end"/> | |
222 </rule> | |
223 <rule pattern="(pragma)(\s+)(\w+)"> | |
224 <bygroups> | |
225 <token type="KeywordReserved"/> | |
226 <token type="Text"/> | |
227 <token type="CommentPreproc"/> | |
228 </bygroups> | |
229 </rule> | |
230 <rule pattern="(true|false|null)\b"> | |
231 <token type="KeywordConstant"/> | |
232 </rule> | |
233 <rule pattern="(Short_Short_Integer|Short_Short_Float|Long_Long_Integer|Long_Long_Float|Wide_Character|Reference_Type|Short_Integer|Long_Integer|Wide_String|Short_Float|Controlled|Long_Float|Character|Generator|File_Type|File_Mode|Positive|Duration|Boolean|Natural|Integer|Address|Cursor|String|Count|Float|Byte)\b"> | |
234 <token type="KeywordType"/> | |
235 </rule> | |
236 <rule pattern="(and(\s+then)?|in|mod|not|or(\s+else)|rem)\b"> | |
237 <token type="OperatorWord"/> | |
238 </rule> | |
239 <rule pattern="generic|private"> | |
240 <token type="KeywordDeclaration"/> | |
241 </rule> | |
242 <rule pattern="package"> | |
243 <token type="KeywordDeclaration"/> | |
244 <push state="package"/> | |
245 </rule> | |
246 <rule pattern="array\b"> | |
247 <token type="KeywordReserved"/> | |
248 <push state="array_def"/> | |
249 </rule> | |
250 <rule pattern="(with|use)(\s+)"> | |
251 <bygroups> | |
252 <token type="KeywordNamespace"/> | |
253 <token type="Text"/> | |
254 </bygroups> | |
255 <push state="import"/> | |
256 </rule> | |
257 <rule pattern="(\w+)(\s*)(:)(\s*)(constant)"> | |
258 <bygroups> | |
259 <token type="NameConstant"/> | |
260 <token type="Text"/> | |
261 <token type="Punctuation"/> | |
262 <token type="Text"/> | |
263 <token type="KeywordReserved"/> | |
264 </bygroups> | |
265 </rule> | |
266 <rule pattern="<<\w+>>"> | |
267 <token type="NameLabel"/> | |
268 </rule> | |
269 <rule pattern="(\w+)(\s*)(:)(\s*)(declare|begin|loop|for|while)"> | |
270 <bygroups> | |
271 <token type="NameLabel"/> | |
272 <token type="Text"/> | |
273 <token type="Punctuation"/> | |
274 <token type="Text"/> | |
275 <token type="KeywordReserved"/> | |
276 </bygroups> | |
277 </rule> | |
278 <rule pattern="\b(synchronized|overriding|terminate|interface|exception|protected|separate|constant|abstract|renames|reverse|subtype|aliased|declare|requeue|limited|return|tagged|access|record|select|accept|digits|others|pragma|entry|elsif|delta|delay|array|until|range|raise|while|begin|abort|else|loop|when|type|null|then|body|task|goto|case|exit|end|for|abs|xor|all|new|out|is|of|if|or|do|at)\b"> | |
279 <token type="KeywordReserved"/> | |
280 </rule> | |
281 <rule pattern=""[^"]*""> | |
282 <token type="LiteralString"/> | |
283 </rule> | |
284 <rule> | |
285 <include state="attribute"/> | |
286 </rule> | |
287 <rule> | |
288 <include state="numbers"/> | |
289 </rule> | |
290 <rule pattern="'[^']'"> | |
291 <token type="LiteralStringChar"/> | |
292 </rule> | |
293 <rule pattern="(\w+)(\s*|[(,])"> | |
294 <bygroups> | |
295 <token type="Name"/> | |
296 <usingself state="root"/> | |
297 </bygroups> | |
298 </rule> | |
299 <rule pattern="(<>|=>|:=|[()|:;,.'])"> | |
300 <token type="Punctuation"/> | |
301 </rule> | |
302 <rule pattern="[*<>+=/&-]"> | |
303 <token type="Operator"/> | |
304 </rule> | |
305 <rule pattern="\n+"> | |
306 <token type="Text"/> | |
307 </rule> | |
308 </state> | |
309 <state name="numbers"> | |
310 <rule pattern="[0-9_]+#[0-9a-f]+#"> | |
311 <token type="LiteralNumberHex"/> | |
312 </rule> | |
313 <rule pattern="[0-9_]+\.[0-9_]*"> | |
314 <token type="LiteralNumberFloat"/> | |
315 </rule> | |
316 <rule pattern="[0-9_]+"> | |
317 <token type="LiteralNumberInteger"/> | |
318 </rule> | |
319 </state> | |
320 </rules> | |
321 </lexer> |