Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/kotlin.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>Kotlin</name> | |
4 <alias>kotlin</alias> | |
5 <filename>*.kt</filename> | |
6 <mime_type>text/x-kotlin</mime_type> | |
7 <dot_all>true</dot_all> | |
8 </config> | |
9 <rules> | |
10 <state name="string"> | |
11 <rule pattern="\\[tbnr'"\\\$]"> | |
12 <token type="LiteralStringEscape"/> | |
13 </rule> | |
14 <rule pattern="\\u[0-9a-fA-F]{4}"> | |
15 <token type="LiteralStringEscape"/> | |
16 </rule> | |
17 <rule pattern="""> | |
18 <token type="LiteralStringDouble"/> | |
19 <pop depth="1"/> | |
20 </rule> | |
21 <rule> | |
22 <include state="string-interpol"/> | |
23 </rule> | |
24 <rule pattern="[^\n\\"$]+"> | |
25 <token type="LiteralStringDouble"/> | |
26 </rule> | |
27 <rule pattern="\$"> | |
28 <token type="LiteralStringDouble"/> | |
29 </rule> | |
30 </state> | |
31 <state name="package"> | |
32 <rule pattern="\S+"> | |
33 <token type="NameNamespace"/> | |
34 <pop depth="1"/> | |
35 </rule> | |
36 </state> | |
37 <state name="class"> | |
38 <rule pattern="\x60[^\x60]+?\x60"> | |
39 <token type="NameClass"/> | |
40 <pop depth="1"/> | |
41 </rule> | |
42 <rule pattern="(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> | |
43 <token type="NameClass"/> | |
44 <pop depth="1"/> | |
45 </rule> | |
46 </state> | |
47 <state name="property"> | |
48 <rule pattern="\x60[^\x60]+?\x60"> | |
49 <token type="NameProperty"/> | |
50 <pop depth="1"/> | |
51 </rule> | |
52 <rule pattern="(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> | |
53 <token type="NameProperty"/> | |
54 <pop depth="1"/> | |
55 </rule> | |
56 </state> | |
57 <state name="string-interpol"> | |
58 <rule pattern="\$(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> | |
59 <token type="LiteralStringInterpol"/> | |
60 </rule> | |
61 <rule pattern="\${[^}\n]*}"> | |
62 <token type="LiteralStringInterpol"/> | |
63 </rule> | |
64 </state> | |
65 <state name="generics-specification"> | |
66 <rule pattern="<"> | |
67 <token type="Punctuation"/> | |
68 <push state="generics-specification"/> | |
69 </rule> | |
70 <rule pattern=">"> | |
71 <token type="Punctuation"/> | |
72 <pop depth="1"/> | |
73 </rule> | |
74 <rule pattern="[,:*?]"> | |
75 <token type="Punctuation"/> | |
76 </rule> | |
77 <rule pattern="(in|out|reified)"> | |
78 <token type="Keyword"/> | |
79 </rule> | |
80 <rule pattern="\x60[^\x60]+?\x60"> | |
81 <token type="NameClass"/> | |
82 </rule> | |
83 <rule pattern="(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> | |
84 <token type="NameClass"/> | |
85 </rule> | |
86 <rule pattern="\s+"> | |
87 <token type="Text"/> | |
88 </rule> | |
89 </state> | |
90 <state name="root"> | |
91 <rule pattern="^\s*\[.*?\]"> | |
92 <token type="NameAttribute"/> | |
93 </rule> | |
94 <rule pattern="[^\S\n]+"> | |
95 <token type="Text"/> | |
96 </rule> | |
97 <rule pattern="\\\n"> | |
98 <token type="Text"/> | |
99 </rule> | |
100 <rule pattern="//[^\n]*\n?"> | |
101 <token type="CommentSingle"/> | |
102 </rule> | |
103 <rule pattern="/[*].*?[*]/"> | |
104 <token type="CommentMultiline"/> | |
105 </rule> | |
106 <rule pattern="\n"> | |
107 <token type="Text"/> | |
108 </rule> | |
109 <rule pattern="!==|!in|!is|==="> | |
110 <token type="Operator"/> | |
111 </rule> | |
112 <rule pattern="%=|&&|\*=|\+\+|\+=|--|-=|->|\.\.|\/=|::|<=|==|>=|!!|!=|\|\||\?[:.]"> | |
113 <token type="Operator"/> | |
114 </rule> | |
115 <rule pattern="[~!%^&*()+=|\[\]:;,.<>\/?-]"> | |
116 <token type="Punctuation"/> | |
117 </rule> | |
118 <rule pattern="[{}]"> | |
119 <token type="Punctuation"/> | |
120 </rule> | |
121 <rule pattern="""""> | |
122 <token type="LiteralString"/> | |
123 <push state="rawstring"/> | |
124 </rule> | |
125 <rule pattern="""> | |
126 <token type="LiteralStringDouble"/> | |
127 <push state="string"/> | |
128 </rule> | |
129 <rule pattern="(')(\\u[0-9a-fA-F]{4})(')"> | |
130 <bygroups> | |
131 <token type="LiteralStringChar"/> | |
132 <token type="LiteralStringEscape"/> | |
133 <token type="LiteralStringChar"/> | |
134 </bygroups> | |
135 </rule> | |
136 <rule pattern="'\\.'|'[^\\]'"> | |
137 <token type="LiteralStringChar"/> | |
138 </rule> | |
139 <rule pattern="0[xX][0-9a-fA-F]+[Uu]?[Ll]?|[0-9]+(\.[0-9]*)?([eE][+-][0-9]+)?[fF]?[Uu]?[Ll]?"> | |
140 <token type="LiteralNumber"/> | |
141 </rule> | |
142 <rule pattern="(companion)(\s+)(object)"> | |
143 <bygroups> | |
144 <token type="Keyword"/> | |
145 <token type="Text"/> | |
146 <token type="Keyword"/> | |
147 </bygroups> | |
148 </rule> | |
149 <rule pattern="(class|interface|object)(\s+)"> | |
150 <bygroups> | |
151 <token type="Keyword"/> | |
152 <token type="Text"/> | |
153 </bygroups> | |
154 <push state="class"/> | |
155 </rule> | |
156 <rule pattern="(package|import)(\s+)"> | |
157 <bygroups> | |
158 <token type="Keyword"/> | |
159 <token type="Text"/> | |
160 </bygroups> | |
161 <push state="package"/> | |
162 </rule> | |
163 <rule pattern="(val|var)(\s+)"> | |
164 <bygroups> | |
165 <token type="Keyword"/> | |
166 <token type="Text"/> | |
167 </bygroups> | |
168 <push state="property"/> | |
169 </rule> | |
170 <rule pattern="(fun)(\s+)"> | |
171 <bygroups> | |
172 <token type="Keyword"/> | |
173 <token type="Text"/> | |
174 </bygroups> | |
175 <push state="function"/> | |
176 </rule> | |
177 <rule pattern="(abstract|actual|annotation|as|as\?|break|by|catch|class|companion|const|constructor|continue|crossinline|data|delegate|do|dynamic|else|enum|expect|external|false|field|file|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|it|lateinit|noinline|null|object|open|operator|out|override|package|param|private|property|protected|public|receiver|reified|return|sealed|set|setparam|super|suspend|tailrec|this|throw|true|try|typealias|typeof|val|value|var|vararg|when|where|while)\b"> | |
178 <token type="Keyword"/> | |
179 </rule> | |
180 <rule pattern="@(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> | |
181 <token type="NameDecorator"/> | |
182 </rule> | |
183 <rule pattern="(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> | |
184 <token type="Name"/> | |
185 </rule> | |
186 </state> | |
187 <state name="function"> | |
188 <rule pattern="<"> | |
189 <token type="Punctuation"/> | |
190 <push state="generics-specification"/> | |
191 </rule> | |
192 <rule pattern="\x60[^\x60]+?\x60"> | |
193 <token type="NameFunction"/> | |
194 <pop depth="1"/> | |
195 </rule> | |
196 <rule pattern="(?:[_\p{L}][\p{L}\p{N}]*|`@?[_\p{L}][\p{L}\p{N}]+`)"> | |
197 <token type="NameFunction"/> | |
198 <pop depth="1"/> | |
199 </rule> | |
200 <rule pattern="\s+"> | |
201 <token type="Text"/> | |
202 </rule> | |
203 </state> | |
204 <state name="rawstring"> | |
205 <rule pattern="""""> | |
206 <token type="LiteralString"/> | |
207 <pop depth="1"/> | |
208 </rule> | |
209 <rule pattern="(?:[^$"]+|\"{1,2}[^"])+"> | |
210 <token type="LiteralString"/> | |
211 </rule> | |
212 <rule> | |
213 <include state="string-interpol"/> | |
214 </rule> | |
215 <rule pattern="\$"> | |
216 <token type="LiteralString"/> | |
217 </rule> | |
218 </state> | |
219 </rules> | |
220 </lexer> |