Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/haskell.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>Haskell</name> | |
4 <alias>haskell</alias> | |
5 <alias>hs</alias> | |
6 <filename>*.hs</filename> | |
7 <mime_type>text/x-haskell</mime_type> | |
8 </config> | |
9 <rules> | |
10 <state name="escape"> | |
11 <rule pattern="[abfnrtv"\'&\\]"> | |
12 <token type="LiteralStringEscape"/> | |
13 <pop depth="1"/> | |
14 </rule> | |
15 <rule pattern="\^[][\p{Lu}@^_]"> | |
16 <token type="LiteralStringEscape"/> | |
17 <pop depth="1"/> | |
18 </rule> | |
19 <rule pattern="NUL|SOH|[SE]TX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|S[OI]|DLE|DC[1-4]|NAK|SYN|ETB|CAN|EM|SUB|ESC|[FGRU]S|SP|DEL"> | |
20 <token type="LiteralStringEscape"/> | |
21 <pop depth="1"/> | |
22 </rule> | |
23 <rule pattern="o[0-7]+"> | |
24 <token type="LiteralStringEscape"/> | |
25 <pop depth="1"/> | |
26 </rule> | |
27 <rule pattern="x[\da-fA-F]+"> | |
28 <token type="LiteralStringEscape"/> | |
29 <pop depth="1"/> | |
30 </rule> | |
31 <rule pattern="\d+"> | |
32 <token type="LiteralStringEscape"/> | |
33 <pop depth="1"/> | |
34 </rule> | |
35 <rule pattern="\s+\\"> | |
36 <token type="LiteralStringEscape"/> | |
37 <pop depth="1"/> | |
38 </rule> | |
39 </state> | |
40 <state name="root"> | |
41 <rule pattern="\s+"> | |
42 <token type="Text"/> | |
43 </rule> | |
44 <rule pattern="--(?![!#$%&*+./<=>?@^|_~:\\]).*?$"> | |
45 <token type="CommentSingle"/> | |
46 </rule> | |
47 <rule pattern="\{-"> | |
48 <token type="CommentMultiline"/> | |
49 <push state="comment"/> | |
50 </rule> | |
51 <rule pattern="\bimport\b"> | |
52 <token type="KeywordReserved"/> | |
53 <push state="import"/> | |
54 </rule> | |
55 <rule pattern="\bmodule\b"> | |
56 <token type="KeywordReserved"/> | |
57 <push state="module"/> | |
58 </rule> | |
59 <rule pattern="\berror\b"> | |
60 <token type="NameException"/> | |
61 </rule> | |
62 <rule pattern="\b(case|class|data|default|deriving|do|else|family|if|in|infix[lr]?|instance|let|newtype|of|then|type|where|_)(?!\')\b"> | |
63 <token type="KeywordReserved"/> | |
64 </rule> | |
65 <rule pattern="'[^\\]'"> | |
66 <token type="LiteralStringChar"/> | |
67 </rule> | |
68 <rule pattern="^[_\p{Ll}][\w\']*"> | |
69 <token type="NameFunction"/> | |
70 </rule> | |
71 <rule pattern="'?[_\p{Ll}][\w']*"> | |
72 <token type="Name"/> | |
73 </rule> | |
74 <rule pattern="('')?[\p{Lu}][\w\']*"> | |
75 <token type="KeywordType"/> | |
76 </rule> | |
77 <rule pattern="(')[\p{Lu}][\w\']*"> | |
78 <token type="KeywordType"/> | |
79 </rule> | |
80 <rule pattern="(')\[[^\]]*\]"> | |
81 <token type="KeywordType"/> | |
82 </rule> | |
83 <rule pattern="(')\([^)]*\)"> | |
84 <token type="KeywordType"/> | |
85 </rule> | |
86 <rule pattern="\\(?![:!#$%&*+.\\/<=>?@^|~-]+)"> | |
87 <token type="NameFunction"/> | |
88 </rule> | |
89 <rule pattern="(<-|::|->|=>|=)(?![:!#$%&*+.\\/<=>?@^|~-]+)"> | |
90 <token type="OperatorWord"/> | |
91 </rule> | |
92 <rule pattern=":[:!#$%&*+.\\/<=>?@^|~-]*"> | |
93 <token type="KeywordType"/> | |
94 </rule> | |
95 <rule pattern="[:!#$%&*+.\\/<=>?@^|~-]+"> | |
96 <token type="Operator"/> | |
97 </rule> | |
98 <rule pattern="\d+[eE][+-]?\d+"> | |
99 <token type="LiteralNumberFloat"/> | |
100 </rule> | |
101 <rule pattern="\d+\.\d+([eE][+-]?\d+)?"> | |
102 <token type="LiteralNumberFloat"/> | |
103 </rule> | |
104 <rule pattern="0[oO][0-7]+"> | |
105 <token type="LiteralNumberOct"/> | |
106 </rule> | |
107 <rule pattern="0[xX][\da-fA-F]+"> | |
108 <token type="LiteralNumberHex"/> | |
109 </rule> | |
110 <rule pattern="\d+"> | |
111 <token type="LiteralNumberInteger"/> | |
112 </rule> | |
113 <rule pattern="'"> | |
114 <token type="LiteralStringChar"/> | |
115 <push state="character"/> | |
116 </rule> | |
117 <rule pattern="""> | |
118 <token type="LiteralString"/> | |
119 <push state="string"/> | |
120 </rule> | |
121 <rule pattern="\[\]"> | |
122 <token type="KeywordType"/> | |
123 </rule> | |
124 <rule pattern="\(\)"> | |
125 <token type="NameBuiltin"/> | |
126 </rule> | |
127 <rule pattern="[][(),;`{}]"> | |
128 <token type="Punctuation"/> | |
129 </rule> | |
130 </state> | |
131 <state name="import"> | |
132 <rule pattern="\s+"> | |
133 <token type="Text"/> | |
134 </rule> | |
135 <rule pattern="""> | |
136 <token type="LiteralString"/> | |
137 <push state="string"/> | |
138 </rule> | |
139 <rule pattern="\)"> | |
140 <token type="Punctuation"/> | |
141 <pop depth="1"/> | |
142 </rule> | |
143 <rule pattern="qualified\b"> | |
144 <token type="Keyword"/> | |
145 </rule> | |
146 <rule pattern="([\p{Lu}][\w.]*)(\s+)(as)(\s+)([\p{Lu}][\w.]*)"> | |
147 <bygroups> | |
148 <token type="NameNamespace"/> | |
149 <token type="Text"/> | |
150 <token type="Keyword"/> | |
151 <token type="Text"/> | |
152 <token type="Name"/> | |
153 </bygroups> | |
154 <pop depth="1"/> | |
155 </rule> | |
156 <rule pattern="([\p{Lu}][\w.]*)(\s+)(hiding)(\s+)(\()"> | |
157 <bygroups> | |
158 <token type="NameNamespace"/> | |
159 <token type="Text"/> | |
160 <token type="Keyword"/> | |
161 <token type="Text"/> | |
162 <token type="Punctuation"/> | |
163 </bygroups> | |
164 <push state="funclist"/> | |
165 </rule> | |
166 <rule pattern="([\p{Lu}][\w.]*)(\s+)(\()"> | |
167 <bygroups> | |
168 <token type="NameNamespace"/> | |
169 <token type="Text"/> | |
170 <token type="Punctuation"/> | |
171 </bygroups> | |
172 <push state="funclist"/> | |
173 </rule> | |
174 <rule pattern="[\w.]+"> | |
175 <token type="NameNamespace"/> | |
176 <pop depth="1"/> | |
177 </rule> | |
178 </state> | |
179 <state name="module"> | |
180 <rule pattern="\s+"> | |
181 <token type="Text"/> | |
182 </rule> | |
183 <rule pattern="([\p{Lu}][\w.]*)(\s+)(\()"> | |
184 <bygroups> | |
185 <token type="NameNamespace"/> | |
186 <token type="Text"/> | |
187 <token type="Punctuation"/> | |
188 </bygroups> | |
189 <push state="funclist"/> | |
190 </rule> | |
191 <rule pattern="[\p{Lu}][\w.]*"> | |
192 <token type="NameNamespace"/> | |
193 <pop depth="1"/> | |
194 </rule> | |
195 </state> | |
196 <state name="funclist"> | |
197 <rule pattern="\s+"> | |
198 <token type="Text"/> | |
199 </rule> | |
200 <rule pattern="[\p{Lu}]\w*"> | |
201 <token type="KeywordType"/> | |
202 </rule> | |
203 <rule pattern="(_[\w\']+|[\p{Ll}][\w\']*)"> | |
204 <token type="NameFunction"/> | |
205 </rule> | |
206 <rule pattern="--(?![!#$%&*+./<=>?@^|_~:\\]).*?$"> | |
207 <token type="CommentSingle"/> | |
208 </rule> | |
209 <rule pattern="\{-"> | |
210 <token type="CommentMultiline"/> | |
211 <push state="comment"/> | |
212 </rule> | |
213 <rule pattern=","> | |
214 <token type="Punctuation"/> | |
215 </rule> | |
216 <rule pattern="[:!#$%&*+.\\/<=>?@^|~-]+"> | |
217 <token type="Operator"/> | |
218 </rule> | |
219 <rule pattern="\("> | |
220 <token type="Punctuation"/> | |
221 <push state="funclist" state="funclist"/> | |
222 </rule> | |
223 <rule pattern="\)"> | |
224 <token type="Punctuation"/> | |
225 <pop depth="2"/> | |
226 </rule> | |
227 </state> | |
228 <state name="comment"> | |
229 <rule pattern="[^-{}]+"> | |
230 <token type="CommentMultiline"/> | |
231 </rule> | |
232 <rule pattern="\{-"> | |
233 <token type="CommentMultiline"/> | |
234 <push/> | |
235 </rule> | |
236 <rule pattern="-\}"> | |
237 <token type="CommentMultiline"/> | |
238 <pop depth="1"/> | |
239 </rule> | |
240 <rule pattern="[-{}]"> | |
241 <token type="CommentMultiline"/> | |
242 </rule> | |
243 </state> | |
244 <state name="character"> | |
245 <rule pattern="[^\\']'"> | |
246 <token type="LiteralStringChar"/> | |
247 <pop depth="1"/> | |
248 </rule> | |
249 <rule pattern="\\"> | |
250 <token type="LiteralStringEscape"/> | |
251 <push state="escape"/> | |
252 </rule> | |
253 <rule pattern="'"> | |
254 <token type="LiteralStringChar"/> | |
255 <pop depth="1"/> | |
256 </rule> | |
257 </state> | |
258 <state name="string"> | |
259 <rule pattern="[^\\"]+"> | |
260 <token type="LiteralString"/> | |
261 </rule> | |
262 <rule pattern="\\"> | |
263 <token type="LiteralStringEscape"/> | |
264 <push state="escape"/> | |
265 </rule> | |
266 <rule pattern="""> | |
267 <token type="LiteralString"/> | |
268 <pop depth="1"/> | |
269 </rule> | |
270 </state> | |
271 </rules> | |
272 </lexer> |