Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/nim.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>Nim</name> | |
4 <alias>nim</alias> | |
5 <alias>nimrod</alias> | |
6 <filename>*.nim</filename> | |
7 <filename>*.nimrod</filename> | |
8 <mime_type>text/x-nim</mime_type> | |
9 <case_insensitive>true</case_insensitive> | |
10 </config> | |
11 <rules> | |
12 <state name="dqs"> | |
13 <rule pattern="\\([\\abcefnrtvl"\']|\n|x[a-f0-9]{2}|[0-9]{1,3})"> | |
14 <token type="LiteralStringEscape"/> | |
15 </rule> | |
16 <rule pattern="""> | |
17 <token type="LiteralString"/> | |
18 <pop depth="1"/> | |
19 </rule> | |
20 <rule> | |
21 <include state="strings"/> | |
22 </rule> | |
23 </state> | |
24 <state name="tdqs"> | |
25 <rule pattern=""""(?!")"> | |
26 <token type="LiteralString"/> | |
27 <pop depth="1"/> | |
28 </rule> | |
29 <rule> | |
30 <include state="strings"/> | |
31 </rule> | |
32 <rule> | |
33 <include state="nl"/> | |
34 </rule> | |
35 </state> | |
36 <state name="funcname"> | |
37 <rule pattern="((?![\d_])\w)(((?!_)\w)|(_(?!_)\w))*"> | |
38 <token type="NameFunction"/> | |
39 <pop depth="1"/> | |
40 </rule> | |
41 <rule pattern="`.+`"> | |
42 <token type="NameFunction"/> | |
43 <pop depth="1"/> | |
44 </rule> | |
45 </state> | |
46 <state name="int-suffix"> | |
47 <rule pattern="\'i(32|64)"> | |
48 <token type="LiteralNumberIntegerLong"/> | |
49 </rule> | |
50 <rule pattern="\'i(8|16)"> | |
51 <token type="LiteralNumberInteger"/> | |
52 </rule> | |
53 <rule> | |
54 <pop depth="1"/> | |
55 </rule> | |
56 </state> | |
57 <state name="float-suffix"> | |
58 <rule pattern="\'f(32|64)"> | |
59 <token type="LiteralNumberFloat"/> | |
60 </rule> | |
61 <rule> | |
62 <pop depth="1"/> | |
63 </rule> | |
64 </state> | |
65 <state name="strings"> | |
66 <rule pattern="(?<!\$)\$(\d+|#|\w+)+"> | |
67 <token type="LiteralStringInterpol"/> | |
68 </rule> | |
69 <rule pattern="[^\\\'"$\n]+"> | |
70 <token type="LiteralString"/> | |
71 </rule> | |
72 <rule pattern="[\'"\\]"> | |
73 <token type="LiteralString"/> | |
74 </rule> | |
75 <rule pattern="\$"> | |
76 <token type="LiteralString"/> | |
77 </rule> | |
78 </state> | |
79 <state name="nl"> | |
80 <rule pattern="\n"> | |
81 <token type="LiteralString"/> | |
82 </rule> | |
83 </state> | |
84 <state name="chars"> | |
85 <rule pattern="\\([\\abcefnrtvl"\']|x[a-f0-9]{2}|[0-9]{1,3})"> | |
86 <token type="LiteralStringEscape"/> | |
87 </rule> | |
88 <rule pattern="'"> | |
89 <token type="LiteralStringChar"/> | |
90 <pop depth="1"/> | |
91 </rule> | |
92 <rule pattern="."> | |
93 <token type="LiteralStringChar"/> | |
94 </rule> | |
95 </state> | |
96 <state name="rdqs"> | |
97 <rule pattern=""(?!")"> | |
98 <token type="LiteralString"/> | |
99 <pop depth="1"/> | |
100 </rule> | |
101 <rule pattern=""""> | |
102 <token type="LiteralStringEscape"/> | |
103 </rule> | |
104 <rule> | |
105 <include state="strings"/> | |
106 </rule> | |
107 </state> | |
108 <state name="float-number"> | |
109 <rule pattern="\.(?!\.)[0-9_]*"> | |
110 <token type="LiteralNumberFloat"/> | |
111 </rule> | |
112 <rule pattern="e[+-]?[0-9][0-9_]*"> | |
113 <token type="LiteralNumberFloat"/> | |
114 </rule> | |
115 <rule> | |
116 <pop depth="1"/> | |
117 </rule> | |
118 </state> | |
119 <state name="root"> | |
120 <rule pattern="#\[[\s\S]*?\]#"> | |
121 <token type="CommentMultiline"/> | |
122 </rule> | |
123 <rule pattern="##.*$"> | |
124 <token type="LiteralStringDoc"/> | |
125 </rule> | |
126 <rule pattern="#.*$"> | |
127 <token type="Comment"/> | |
128 </rule> | |
129 <rule pattern="[*=><+\-/@$~&%!?|\\\[\]]"> | |
130 <token type="Operator"/> | |
131 </rule> | |
132 <rule pattern="\.\.|\.|,|\[\.|\.\]|\{\.|\.\}|\(\.|\.\)|\{|\}|\(|\)|:|\^|`|;"> | |
133 <token type="Punctuation"/> | |
134 </rule> | |
135 <rule pattern="(?:[\w]+)""> | |
136 <token type="LiteralString"/> | |
137 <push state="rdqs"/> | |
138 </rule> | |
139 <rule pattern="""""> | |
140 <token type="LiteralString"/> | |
141 <push state="tdqs"/> | |
142 </rule> | |
143 <rule pattern="""> | |
144 <token type="LiteralString"/> | |
145 <push state="dqs"/> | |
146 </rule> | |
147 <rule pattern="'"> | |
148 <token type="LiteralStringChar"/> | |
149 <push state="chars"/> | |
150 </rule> | |
151 <rule pattern="(a_?n_?d_?|o_?r_?|n_?o_?t_?|x_?o_?r_?|s_?h_?l_?|s_?h_?r_?|d_?i_?v_?|m_?o_?d_?|i_?n_?|n_?o_?t_?i_?n_?|i_?s_?|i_?s_?n_?o_?t_?)\b"> | |
152 <token type="OperatorWord"/> | |
153 </rule> | |
154 <rule pattern="(p_?r_?o_?c_?\s)(?![(\[\]])"> | |
155 <token type="Keyword"/> | |
156 <push state="funcname"/> | |
157 </rule> | |
158 <rule pattern="(a_?d_?d_?r_?|a_?n_?d_?|a_?s_?|a_?s_?m_?|a_?t_?o_?m_?i_?c_?|b_?i_?n_?d_?|b_?l_?o_?c_?k_?|b_?r_?e_?a_?k_?|c_?a_?s_?e_?|c_?a_?s_?t_?|c_?o_?n_?c_?e_?p_?t_?|c_?o_?n_?s_?t_?|c_?o_?n_?t_?i_?n_?u_?e_?|c_?o_?n_?v_?e_?r_?t_?e_?r_?|d_?e_?f_?e_?r_?|d_?i_?s_?c_?a_?r_?d_?|d_?i_?s_?t_?i_?n_?c_?t_?|d_?i_?v_?|d_?o_?|e_?l_?i_?f_?|e_?l_?s_?e_?|e_?n_?d_?|e_?n_?u_?m_?|e_?x_?c_?e_?p_?t_?|e_?x_?p_?o_?r_?t_?|f_?i_?n_?a_?l_?l_?y_?|f_?o_?r_?|f_?u_?n_?c_?|i_?f_?|i_?n_?|y_?i_?e_?l_?d_?|i_?n_?t_?e_?r_?f_?a_?c_?e_?|i_?s_?|i_?s_?n_?o_?t_?|i_?t_?e_?r_?a_?t_?o_?r_?|l_?e_?t_?|m_?a_?c_?r_?o_?|m_?e_?t_?h_?o_?d_?|m_?i_?x_?i_?n_?|m_?o_?d_?|n_?o_?t_?|n_?o_?t_?i_?n_?|o_?b_?j_?e_?c_?t_?|o_?f_?|o_?r_?|o_?u_?t_?|p_?r_?o_?c_?|p_?t_?r_?|r_?a_?i_?s_?e_?|r_?e_?f_?|r_?e_?t_?u_?r_?n_?|s_?h_?a_?r_?e_?d_?|s_?h_?l_?|s_?h_?r_?|s_?t_?a_?t_?i_?c_?|t_?e_?m_?p_?l_?a_?t_?e_?|t_?r_?y_?|t_?u_?p_?l_?e_?|t_?y_?p_?e_?|w_?h_?e_?n_?|w_?h_?i_?l_?e_?|w_?i_?t_?h_?|w_?i_?t_?h_?o_?u_?t_?|x_?o_?r_?)\b"> | |
159 <token type="Keyword"/> | |
160 </rule> | |
161 <rule pattern="(f_?r_?o_?m_?|i_?m_?p_?o_?r_?t_?|i_?n_?c_?l_?u_?d_?e_?)\b"> | |
162 <token type="KeywordNamespace"/> | |
163 </rule> | |
164 <rule pattern="(v_?a_?r)\b"> | |
165 <token type="KeywordDeclaration"/> | |
166 </rule> | |
167 <rule pattern="(i_?n_?t_?|i_?n_?t_?8_?|i_?n_?t_?1_?6_?|i_?n_?t_?3_?2_?|i_?n_?t_?6_?4_?|f_?l_?o_?a_?t_?|f_?l_?o_?a_?t_?3_?2_?|f_?l_?o_?a_?t_?6_?4_?|b_?o_?o_?l_?|c_?h_?a_?r_?|r_?a_?n_?g_?e_?|a_?r_?r_?a_?y_?|s_?e_?q_?|s_?e_?t_?|s_?t_?r_?i_?n_?g_?)\b"> | |
168 <token type="KeywordType"/> | |
169 </rule> | |
170 <rule pattern="(n_?i_?l_?|t_?r_?u_?e_?|f_?a_?l_?s_?e_?)\b"> | |
171 <token type="KeywordPseudo"/> | |
172 </rule> | |
173 <rule pattern="\b_\b"> | |
174 <token type="Name"/> | |
175 </rule> | |
176 <rule pattern="\b((?![_\d])\w)(((?!_)\w)|(_(?!_)\w))*"> | |
177 <token type="Name"/> | |
178 </rule> | |
179 <rule pattern="[0-9][0-9_]*(?=([e.]|\'f(32|64)))"> | |
180 <token type="LiteralNumberFloat"/> | |
181 <push state="float-suffix" state="float-number"/> | |
182 </rule> | |
183 <rule pattern="0x[a-f0-9][a-f0-9_]*"> | |
184 <token type="LiteralNumberHex"/> | |
185 <push state="int-suffix"/> | |
186 </rule> | |
187 <rule pattern="0b[01][01_]*"> | |
188 <token type="LiteralNumberBin"/> | |
189 <push state="int-suffix"/> | |
190 </rule> | |
191 <rule pattern="0o[0-7][0-7_]*"> | |
192 <token type="LiteralNumberOct"/> | |
193 <push state="int-suffix"/> | |
194 </rule> | |
195 <rule pattern="[0-9][0-9_]*"> | |
196 <token type="LiteralNumberInteger"/> | |
197 <push state="int-suffix"/> | |
198 </rule> | |
199 <rule pattern="\s+"> | |
200 <token type="Text"/> | |
201 </rule> | |
202 <rule pattern=".+$"> | |
203 <token type="Error"/> | |
204 </rule> | |
205 </state> | |
206 </rules> | |
207 </lexer> |