Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/smalltalk.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>Smalltalk</name> | |
4 <alias>smalltalk</alias> | |
5 <alias>squeak</alias> | |
6 <alias>st</alias> | |
7 <filename>*.st</filename> | |
8 <mime_type>text/x-smalltalk</mime_type> | |
9 </config> | |
10 <rules> | |
11 <state name="inner_parenth"> | |
12 <rule pattern="\)"> | |
13 <token type="LiteralStringSymbol"/> | |
14 <pop depth="1"/> | |
15 </rule> | |
16 <rule> | |
17 <include state="_parenth_helper"/> | |
18 </rule> | |
19 </state> | |
20 <state name="objects"> | |
21 <rule pattern="\["> | |
22 <token type="Text"/> | |
23 <push state="blockvariables"/> | |
24 </rule> | |
25 <rule pattern="\]"> | |
26 <token type="Text"/> | |
27 <push state="afterobject"/> | |
28 </rule> | |
29 <rule pattern="\b(self|super|true|false|nil|thisContext)\b"> | |
30 <token type="NameBuiltinPseudo"/> | |
31 <push state="afterobject"/> | |
32 </rule> | |
33 <rule pattern="\b[A-Z]\w*(?!:)\b"> | |
34 <token type="NameClass"/> | |
35 <push state="afterobject"/> | |
36 </rule> | |
37 <rule pattern="\b[a-z]\w*(?!:)\b"> | |
38 <token type="NameVariable"/> | |
39 <push state="afterobject"/> | |
40 </rule> | |
41 <rule pattern="#("(""|[^"])*"|[-+*/\\~<>=|&!?,@%]+|[\w:]+)"> | |
42 <token type="LiteralStringSymbol"/> | |
43 <push state="afterobject"/> | |
44 </rule> | |
45 <rule> | |
46 <include state="literals"/> | |
47 </rule> | |
48 </state> | |
49 <state name="afterobject"> | |
50 <rule pattern="! !$"> | |
51 <token type="Keyword"/> | |
52 <pop depth="1"/> | |
53 </rule> | |
54 <rule> | |
55 <include state="whitespaces"/> | |
56 </rule> | |
57 <rule pattern="\b(ifTrue:|ifFalse:|whileTrue:|whileFalse:|timesRepeat:)"> | |
58 <token type="NameBuiltin"/> | |
59 <pop depth="1"/> | |
60 </rule> | |
61 <rule pattern="\b(new\b(?!:))"> | |
62 <token type="NameBuiltin"/> | |
63 </rule> | |
64 <rule pattern=":=|_"> | |
65 <token type="Operator"/> | |
66 <pop depth="1"/> | |
67 </rule> | |
68 <rule pattern="\b[a-zA-Z]+\w*:"> | |
69 <token type="NameFunction"/> | |
70 <pop depth="1"/> | |
71 </rule> | |
72 <rule pattern="\b[a-zA-Z]+\w*"> | |
73 <token type="NameFunction"/> | |
74 </rule> | |
75 <rule pattern="\w+:?|[-+*/\\~<>=|&!?,@%]+"> | |
76 <token type="NameFunction"/> | |
77 <pop depth="1"/> | |
78 </rule> | |
79 <rule pattern="\."> | |
80 <token type="Punctuation"/> | |
81 <pop depth="1"/> | |
82 </rule> | |
83 <rule pattern=";"> | |
84 <token type="Punctuation"/> | |
85 </rule> | |
86 <rule pattern="[\])}]"> | |
87 <token type="Text"/> | |
88 </rule> | |
89 <rule pattern="[\[({]"> | |
90 <token type="Text"/> | |
91 <pop depth="1"/> | |
92 </rule> | |
93 </state> | |
94 <state name="literals"> | |
95 <rule pattern="'(''|[^'])*'"> | |
96 <token type="LiteralString"/> | |
97 <push state="afterobject"/> | |
98 </rule> | |
99 <rule pattern="\$."> | |
100 <token type="LiteralStringChar"/> | |
101 <push state="afterobject"/> | |
102 </rule> | |
103 <rule pattern="#\("> | |
104 <token type="LiteralStringSymbol"/> | |
105 <push state="parenth"/> | |
106 </rule> | |
107 <rule pattern="\)"> | |
108 <token type="Text"/> | |
109 <push state="afterobject"/> | |
110 </rule> | |
111 <rule pattern="(\d+r)?-?\d+(\.\d+)?(e-?\d+)?"> | |
112 <token type="LiteralNumber"/> | |
113 <push state="afterobject"/> | |
114 </rule> | |
115 </state> | |
116 <state name="root"> | |
117 <rule pattern="(<)(\w+:)(.*?)(>)"> | |
118 <bygroups> | |
119 <token type="Text"/> | |
120 <token type="Keyword"/> | |
121 <token type="Text"/> | |
122 <token type="Text"/> | |
123 </bygroups> | |
124 </rule> | |
125 <rule> | |
126 <include state="squeak fileout"/> | |
127 </rule> | |
128 <rule> | |
129 <include state="whitespaces"/> | |
130 </rule> | |
131 <rule> | |
132 <include state="method definition"/> | |
133 </rule> | |
134 <rule pattern="(\|)([\w\s]*)(\|)"> | |
135 <bygroups> | |
136 <token type="Operator"/> | |
137 <token type="NameVariable"/> | |
138 <token type="Operator"/> | |
139 </bygroups> | |
140 </rule> | |
141 <rule> | |
142 <include state="objects"/> | |
143 </rule> | |
144 <rule pattern="\^|:=|_"> | |
145 <token type="Operator"/> | |
146 </rule> | |
147 <rule pattern="[\]({}.;!]"> | |
148 <token type="Text"/> | |
149 </rule> | |
150 </state> | |
151 <state name="_parenth_helper"> | |
152 <rule> | |
153 <include state="whitespaces"/> | |
154 </rule> | |
155 <rule pattern="(\d+r)?-?\d+(\.\d+)?(e-?\d+)?"> | |
156 <token type="LiteralNumber"/> | |
157 </rule> | |
158 <rule pattern="[-+*/\\~<>=|&#!?,@%\w:]+"> | |
159 <token type="LiteralStringSymbol"/> | |
160 </rule> | |
161 <rule pattern="'(''|[^'])*'"> | |
162 <token type="LiteralString"/> | |
163 </rule> | |
164 <rule pattern="\$."> | |
165 <token type="LiteralStringChar"/> | |
166 </rule> | |
167 <rule pattern="#*\("> | |
168 <token type="LiteralStringSymbol"/> | |
169 <push state="inner_parenth"/> | |
170 </rule> | |
171 </state> | |
172 <state name="parenth"> | |
173 <rule pattern="\)"> | |
174 <token type="LiteralStringSymbol"/> | |
175 <push state="root" state="afterobject"/> | |
176 </rule> | |
177 <rule> | |
178 <include state="_parenth_helper"/> | |
179 </rule> | |
180 </state> | |
181 <state name="whitespaces"> | |
182 <rule pattern="\s+"> | |
183 <token type="Text"/> | |
184 </rule> | |
185 <rule pattern=""(""|[^"])*""> | |
186 <token type="Comment"/> | |
187 </rule> | |
188 </state> | |
189 <state name="squeak fileout"> | |
190 <rule pattern="^"(""|[^"])*"!"> | |
191 <token type="Keyword"/> | |
192 </rule> | |
193 <rule pattern="^'(''|[^'])*'!"> | |
194 <token type="Keyword"/> | |
195 </rule> | |
196 <rule pattern="^(!)(\w+)( commentStamp: )(.*?)( prior: .*?!\n)(.*?)(!)"> | |
197 <bygroups> | |
198 <token type="Keyword"/> | |
199 <token type="NameClass"/> | |
200 <token type="Keyword"/> | |
201 <token type="LiteralString"/> | |
202 <token type="Keyword"/> | |
203 <token type="Text"/> | |
204 <token type="Keyword"/> | |
205 </bygroups> | |
206 </rule> | |
207 <rule pattern="^(!)(\w+(?: class)?)( methodsFor: )('(?:''|[^'])*')(.*?!)"> | |
208 <bygroups> | |
209 <token type="Keyword"/> | |
210 <token type="NameClass"/> | |
211 <token type="Keyword"/> | |
212 <token type="LiteralString"/> | |
213 <token type="Keyword"/> | |
214 </bygroups> | |
215 </rule> | |
216 <rule pattern="^(\w+)( subclass: )(#\w+)(\s+instanceVariableNames: )(.*?)(\s+classVariableNames: )(.*?)(\s+poolDictionaries: )(.*?)(\s+category: )(.*?)(!)"> | |
217 <bygroups> | |
218 <token type="NameClass"/> | |
219 <token type="Keyword"/> | |
220 <token type="LiteralStringSymbol"/> | |
221 <token type="Keyword"/> | |
222 <token type="LiteralString"/> | |
223 <token type="Keyword"/> | |
224 <token type="LiteralString"/> | |
225 <token type="Keyword"/> | |
226 <token type="LiteralString"/> | |
227 <token type="Keyword"/> | |
228 <token type="LiteralString"/> | |
229 <token type="Keyword"/> | |
230 </bygroups> | |
231 </rule> | |
232 <rule pattern="^(\w+(?: class)?)(\s+instanceVariableNames: )(.*?)(!)"> | |
233 <bygroups> | |
234 <token type="NameClass"/> | |
235 <token type="Keyword"/> | |
236 <token type="LiteralString"/> | |
237 <token type="Keyword"/> | |
238 </bygroups> | |
239 </rule> | |
240 <rule pattern="(!\n)(\].*)(! !)$"> | |
241 <bygroups> | |
242 <token type="Keyword"/> | |
243 <token type="Text"/> | |
244 <token type="Keyword"/> | |
245 </bygroups> | |
246 </rule> | |
247 <rule pattern="! !$"> | |
248 <token type="Keyword"/> | |
249 </rule> | |
250 </state> | |
251 <state name="method definition"> | |
252 <rule pattern="([a-zA-Z]+\w*:)(\s*)(\w+)"> | |
253 <bygroups> | |
254 <token type="NameFunction"/> | |
255 <token type="Text"/> | |
256 <token type="NameVariable"/> | |
257 </bygroups> | |
258 </rule> | |
259 <rule pattern="^(\b[a-zA-Z]+\w*\b)(\s*)$"> | |
260 <bygroups> | |
261 <token type="NameFunction"/> | |
262 <token type="Text"/> | |
263 </bygroups> | |
264 </rule> | |
265 <rule pattern="^([-+*/\\~<>=|&!?,@%]+)(\s*)(\w+)(\s*)$"> | |
266 <bygroups> | |
267 <token type="NameFunction"/> | |
268 <token type="Text"/> | |
269 <token type="NameVariable"/> | |
270 <token type="Text"/> | |
271 </bygroups> | |
272 </rule> | |
273 </state> | |
274 <state name="blockvariables"> | |
275 <rule> | |
276 <include state="whitespaces"/> | |
277 </rule> | |
278 <rule pattern="(:)(\s*)(\w+)"> | |
279 <bygroups> | |
280 <token type="Operator"/> | |
281 <token type="Text"/> | |
282 <token type="NameVariable"/> | |
283 </bygroups> | |
284 </rule> | |
285 <rule pattern="\|"> | |
286 <token type="Operator"/> | |
287 <pop depth="1"/> | |
288 </rule> | |
289 <rule> | |
290 <pop depth="1"/> | |
291 </rule> | |
292 </state> | |
293 </rules> | |
294 </lexer> |