Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/fsharp.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>FSharp</name> | |
4 <alias>fsharp</alias> | |
5 <filename>*.fs</filename> | |
6 <filename>*.fsi</filename> | |
7 <mime_type>text/x-fsharp</mime_type> | |
8 </config> | |
9 <rules> | |
10 <state name="comment"> | |
11 <rule pattern="[^(*)@"]+"> | |
12 <token type="Comment"/> | |
13 </rule> | |
14 <rule pattern="\(\*"> | |
15 <token type="Comment"/> | |
16 <push/> | |
17 </rule> | |
18 <rule pattern="\*\)"> | |
19 <token type="Comment"/> | |
20 <pop depth="1"/> | |
21 </rule> | |
22 <rule pattern="@""> | |
23 <token type="LiteralString"/> | |
24 <push state="lstring"/> | |
25 </rule> | |
26 <rule pattern="""""> | |
27 <token type="LiteralString"/> | |
28 <push state="tqs"/> | |
29 </rule> | |
30 <rule pattern="""> | |
31 <token type="LiteralString"/> | |
32 <push state="string"/> | |
33 </rule> | |
34 <rule pattern="[(*)@]"> | |
35 <token type="Comment"/> | |
36 </rule> | |
37 </state> | |
38 <state name="string"> | |
39 <rule pattern="[^\\"]+"> | |
40 <token type="LiteralString"/> | |
41 </rule> | |
42 <rule> | |
43 <include state="escape-sequence"/> | |
44 </rule> | |
45 <rule pattern="\\\n"> | |
46 <token type="LiteralString"/> | |
47 </rule> | |
48 <rule pattern="\n"> | |
49 <token type="LiteralString"/> | |
50 </rule> | |
51 <rule pattern=""B?"> | |
52 <token type="LiteralString"/> | |
53 <pop depth="1"/> | |
54 </rule> | |
55 </state> | |
56 <state name="lstring"> | |
57 <rule pattern="[^"]+"> | |
58 <token type="LiteralString"/> | |
59 </rule> | |
60 <rule pattern="\n"> | |
61 <token type="LiteralString"/> | |
62 </rule> | |
63 <rule pattern=""""> | |
64 <token type="LiteralString"/> | |
65 </rule> | |
66 <rule pattern=""B?"> | |
67 <token type="LiteralString"/> | |
68 <pop depth="1"/> | |
69 </rule> | |
70 </state> | |
71 <state name="tqs"> | |
72 <rule pattern="[^"]+"> | |
73 <token type="LiteralString"/> | |
74 </rule> | |
75 <rule pattern="\n"> | |
76 <token type="LiteralString"/> | |
77 </rule> | |
78 <rule pattern=""""B?"> | |
79 <token type="LiteralString"/> | |
80 <pop depth="1"/> | |
81 </rule> | |
82 <rule pattern="""> | |
83 <token type="LiteralString"/> | |
84 </rule> | |
85 </state> | |
86 <state name="escape-sequence"> | |
87 <rule pattern="\\[\\"\'ntbrafv]"> | |
88 <token type="LiteralStringEscape"/> | |
89 </rule> | |
90 <rule pattern="\\[0-9]{3}"> | |
91 <token type="LiteralStringEscape"/> | |
92 </rule> | |
93 <rule pattern="\\u[0-9a-fA-F]{4}"> | |
94 <token type="LiteralStringEscape"/> | |
95 </rule> | |
96 <rule pattern="\\U[0-9a-fA-F]{8}"> | |
97 <token type="LiteralStringEscape"/> | |
98 </rule> | |
99 </state> | |
100 <state name="root"> | |
101 <rule pattern="\s+"> | |
102 <token type="Text"/> | |
103 </rule> | |
104 <rule pattern="\(\)|\[\]"> | |
105 <token type="NameBuiltinPseudo"/> | |
106 </rule> | |
107 <rule pattern="\b(?<!\.)([A-Z][\w\']*)(?=\s*\.)"> | |
108 <token type="NameNamespace"/> | |
109 <push state="dotted"/> | |
110 </rule> | |
111 <rule pattern="\b([A-Z][\w\']*)"> | |
112 <token type="Name"/> | |
113 </rule> | |
114 <rule pattern="///.*?\n"> | |
115 <token type="LiteralStringDoc"/> | |
116 </rule> | |
117 <rule pattern="//.*?\n"> | |
118 <token type="CommentSingle"/> | |
119 </rule> | |
120 <rule pattern="\(\*(?!\))"> | |
121 <token type="Comment"/> | |
122 <push state="comment"/> | |
123 </rule> | |
124 <rule pattern="@""> | |
125 <token type="LiteralString"/> | |
126 <push state="lstring"/> | |
127 </rule> | |
128 <rule pattern="""""> | |
129 <token type="LiteralString"/> | |
130 <push state="tqs"/> | |
131 </rule> | |
132 <rule pattern="""> | |
133 <token type="LiteralString"/> | |
134 <push state="string"/> | |
135 </rule> | |
136 <rule pattern="\b(open|module)(\s+)([\w.]+)"> | |
137 <bygroups> | |
138 <token type="Keyword"/> | |
139 <token type="Text"/> | |
140 <token type="NameNamespace"/> | |
141 </bygroups> | |
142 </rule> | |
143 <rule pattern="\b(let!?)(\s+)(\w+)"> | |
144 <bygroups> | |
145 <token type="Keyword"/> | |
146 <token type="Text"/> | |
147 <token type="NameVariable"/> | |
148 </bygroups> | |
149 </rule> | |
150 <rule pattern="\b(type)(\s+)(\w+)"> | |
151 <bygroups> | |
152 <token type="Keyword"/> | |
153 <token type="Text"/> | |
154 <token type="NameClass"/> | |
155 </bygroups> | |
156 </rule> | |
157 <rule pattern="\b(member|override)(\s+)(\w+)(\.)(\w+)"> | |
158 <bygroups> | |
159 <token type="Keyword"/> | |
160 <token type="Text"/> | |
161 <token type="Name"/> | |
162 <token type="Punctuation"/> | |
163 <token type="NameFunction"/> | |
164 </bygroups> | |
165 </rule> | |
166 <rule pattern="\b(abstract|as|assert|base|begin|class|default|delegate|do!|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|function|fun|global|if|inherit|inline|interface|internal|in|lazy|let!|let|match|member|module|mutable|namespace|new|null|of|open|override|private|public|rec|return!|return|select|static|struct|then|to|true|try|type|upcast|use!|use|val|void|when|while|with|yield!|yield|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b"> | |
167 <token type="Keyword"/> | |
168 </rule> | |
169 <rule pattern="``([^`\n\r\t]|`[^`\n\r\t])+``"> | |
170 <token type="Name"/> | |
171 </rule> | |
172 <rule pattern="#[ \t]*(if|endif|else|line|nowarn|light|r|\d+)\b"> | |
173 <token type="CommentPreproc"/> | |
174 </rule> | |
175 <rule pattern="(!=|#|&&|&|\(|\)|\*|\+|,|-\.|->|-|\.\.|\.|::|:=|:>|:|;;|;|<-|<\]|<|>\]|>|\?\?|\?|\[<|\[\||\[|\]|_|`|\{|\|\]|\||\}|~|<@@|<@|=|@>|@@>)"> | |
176 <token type="Operator"/> | |
177 </rule> | |
178 <rule pattern="([=<>@^|&+\*/$%-]|[!?~])?[!$%&*+\./:<=>?@^|~-]"> | |
179 <token type="Operator"/> | |
180 </rule> | |
181 <rule pattern="\b(and|or|not)\b"> | |
182 <token type="OperatorWord"/> | |
183 </rule> | |
184 <rule pattern="\b(sbyte|byte|char|nativeint|unativeint|float32|single|float|double|int8|uint8|int16|uint16|int32|uint32|int64|uint64|decimal|unit|bool|string|list|exn|obj|enum)\b"> | |
185 <token type="KeywordType"/> | |
186 </rule> | |
187 <rule pattern="[^\W\d][\w']*"> | |
188 <token type="Name"/> | |
189 </rule> | |
190 <rule pattern="\d[\d_]*[uU]?[yslLnQRZINGmM]?"> | |
191 <token type="LiteralNumberInteger"/> | |
192 </rule> | |
193 <rule pattern="0[xX][\da-fA-F][\da-fA-F_]*[uU]?[yslLn]?[fF]?"> | |
194 <token type="LiteralNumberHex"/> | |
195 </rule> | |
196 <rule pattern="0[oO][0-7][0-7_]*[uU]?[yslLn]?"> | |
197 <token type="LiteralNumberOct"/> | |
198 </rule> | |
199 <rule pattern="0[bB][01][01_]*[uU]?[yslLn]?"> | |
200 <token type="LiteralNumberBin"/> | |
201 </rule> | |
202 <rule pattern="-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)[fFmM]?"> | |
203 <token type="LiteralNumberFloat"/> | |
204 </rule> | |
205 <rule pattern="'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'B?"> | |
206 <token type="LiteralStringChar"/> | |
207 </rule> | |
208 <rule pattern="'.'"> | |
209 <token type="LiteralStringChar"/> | |
210 </rule> | |
211 <rule pattern="'"> | |
212 <token type="Keyword"/> | |
213 </rule> | |
214 <rule pattern="@?""> | |
215 <token type="LiteralStringDouble"/> | |
216 <push state="string"/> | |
217 </rule> | |
218 <rule pattern="[~?][a-z][\w\']*:"> | |
219 <token type="NameVariable"/> | |
220 </rule> | |
221 </state> | |
222 <state name="dotted"> | |
223 <rule pattern="\s+"> | |
224 <token type="Text"/> | |
225 </rule> | |
226 <rule pattern="\."> | |
227 <token type="Punctuation"/> | |
228 </rule> | |
229 <rule pattern="[A-Z][\w\']*(?=\s*\.)"> | |
230 <token type="NameNamespace"/> | |
231 </rule> | |
232 <rule pattern="[A-Z][\w\']*"> | |
233 <token type="Name"/> | |
234 <pop depth="1"/> | |
235 </rule> | |
236 <rule pattern="[a-z_][\w\']*"> | |
237 <token type="Name"/> | |
238 <pop depth="1"/> | |
239 </rule> | |
240 <rule> | |
241 <pop depth="1"/> | |
242 </rule> | |
243 </state> | |
244 </rules> | |
245 </lexer> |