├── info.plist
├── Preferences
├── Comments.tmPreferences
└── Typing\Highlight Pairs.tmPreferences
├── README.mdown
└── Syntaxes
└── F Sharp.tmLanguage
/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | F Sharp
7 | uuid
8 | A29B280D-8D4C-4416-AC5A-97F50669603A
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Preferences/Comments.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Comments
7 | scope
8 | source.fsharp
9 | settings
10 |
11 | shellVariables
12 |
13 |
14 | name
15 | TM_COMMENT_START
16 | value
17 | (*
18 |
19 |
20 | name
21 | TM_COMMENT_END
22 | value
23 | *)
24 |
25 |
26 |
27 | uuid
28 | 7EB87AAB-3E82-44DC-BD69-4EE920E86C8F
29 |
30 |
31 |
--------------------------------------------------------------------------------
/README.mdown:
--------------------------------------------------------------------------------
1 | # Installation
2 |
3 | You can install this bundle in TextMate by opening the preferences and going to the bundles tab. After installation it will be automatically updated for you.
4 |
5 | # General
6 |
7 | * [Bundle Styleguide](http://kb.textmate.org/bundle_styleguide) — _before you make changes_
8 | * [Commit Styleguide](http://kb.textmate.org/commit_styleguide) — _before you send a pull request_
9 | * [Writing Bug Reports](http://kb.textmate.org/writing_bug_reports) — _before you report an issue_
10 |
11 | # License
12 |
13 | If not otherwise specified (see below), files in this repository fall under the following license:
14 |
15 | Permission to copy, use, modify, sell and distribute this
16 | software is granted. This software is provided "as is" without
17 | express or implied warranty, and with no claim as to its
18 | suitability for any purpose.
19 |
20 | An exception is made for files in readable text which contain their own license information, or files where an accompanying file exists (in the same directory) with a “-license” suffix added to the base-name name of the original file, and an extension of txt, html, or similar. For example “tidy” is accompanied by “tidy-license.txt”.
--------------------------------------------------------------------------------
/Preferences/Typing\Highlight Pairs.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Typing\Highlight Pairs
7 | scope
8 | source.fsharp
9 | settings
10 |
11 | highlightPairs
12 |
13 |
14 | (
15 | )
16 |
17 |
18 | [
19 | ]
20 |
21 |
22 | {
23 | }
24 |
25 |
26 | smartTypingPairs
27 |
28 |
29 | (
30 | )
31 |
32 |
33 | [
34 | ]
35 |
36 |
37 | {
38 | }
39 |
40 |
41 | "
42 | "
43 |
44 |
45 |
46 | uuid
47 | ED1D15E2-7A68-496C-A29A-4BB8C02B0476
48 |
49 |
50 |
--------------------------------------------------------------------------------
/Syntaxes/F Sharp.tmLanguage:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | fileTypes
6 |
7 | fs
8 |
9 | foldingStartMarker
10 |
11 | foldingStopMarker
12 |
13 | keyEquivalent
14 | ^~F
15 | name
16 | F Sharp
17 | patterns
18 |
19 |
20 | include
21 | #comments
22 |
23 |
24 | include
25 | #constants
26 |
27 |
28 | include
29 | #structure
30 |
31 |
32 | include
33 | #strings
34 |
35 |
36 | include
37 | #let
38 |
39 |
40 | include
41 | #method_calls
42 |
43 |
44 | include
45 | #modules
46 |
47 |
48 | include
49 | #anonymous_functions
50 |
51 |
52 | include
53 | #keywords
54 |
55 |
56 | repository
57 |
58 | anonymous_functions
59 |
60 | patterns
61 |
62 |
63 | begin
64 | \b(fun)\b
65 | beginCaptures
66 |
67 | 1
68 |
69 | name
70 | storage.type.function.fsharp
71 |
72 |
73 | end
74 | (->)
75 | endCaptures
76 |
77 | 1
78 |
79 | name
80 | punctuation.separator.function-definition.fsharp
81 |
82 |
83 | name
84 | meta.function.anonymous
85 | patterns
86 |
87 |
88 | include
89 | #variables
90 |
91 |
92 |
93 |
94 |
95 | comments
96 |
97 | patterns
98 |
99 |
100 | begin
101 | \(\*
102 | beginCaptures
103 |
104 | 0
105 |
106 | name
107 | punctuation.definition.comment.begin.fsharp
108 |
109 |
110 | end
111 | \*\)
112 | endCaptures
113 |
114 | 0
115 |
116 | name
117 | punctuation.definition.comment.end.fsharp
118 |
119 |
120 | name
121 | comment.block.fsharp
122 | patterns
123 |
124 |
125 | include
126 | #comments
127 |
128 |
129 |
130 |
131 |
132 | constants
133 |
134 | patterns
135 |
136 |
137 | match
138 | \(\)
139 | name
140 | constant.language.unit.fsharp
141 |
142 |
143 | match
144 | \b-?[0-9][0-9_]*((\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))
145 | name
146 | constant.numeric.floating-point.fsharp
147 |
148 |
149 | match
150 | \b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))
151 | name
152 | constant.numeric.integer.nativeint.fsharp
153 |
154 |
155 |
156 | keywords
157 |
158 | patterns
159 |
160 |
161 | match
162 | \b(new|in)\b
163 | name
164 | keyword.other.fsharp
165 |
166 |
167 |
168 | let
169 |
170 | patterns
171 |
172 |
173 | begin
174 | \b(let|and)(\s+rec)?(\s+[a-z]\w*)\b
175 | beginCaptures
176 |
177 | 1
178 |
179 | name
180 | keyword.other.binding.fsharp
181 |
182 | 2
183 |
184 | name
185 | keyword.other.function-recursive.fsharp
186 |
187 | 3
188 |
189 | name
190 | entity.name.type.binding.fsharp
191 |
192 |
193 | end
194 | =
195 | endCaptures
196 |
197 | 1
198 |
199 | name
200 | punctuation.separator.function.type-constraint.fsharp
201 |
202 |
203 | name
204 | meta.binding.fsharp
205 | patterns
206 |
207 |
208 | include
209 | #variables
210 |
211 |
212 |
213 |
214 | captures
215 |
216 | 1
217 |
218 | name
219 | keyword.other.binding.fsharp
220 |
221 | 3
222 |
223 | name
224 | constant.language.unit.fsharp
225 |
226 | 4
227 |
228 | name
229 | constant.language.ignored.fsharp
230 |
231 |
232 | match
233 | \b(let)\s+((\(\))|(_))\s+=
234 | name
235 | meta.expression.fsharp
236 |
237 |
238 |
239 | method_calls
240 |
241 | patterns
242 |
243 |
244 | applyEndPatternLast
245 | 1
246 | begin
247 | (?<!\w)([a-z]\w*)(\.)
248 | end
249 | (?=.)
250 | name
251 | meta.method-call.fsharp
252 | patterns
253 |
254 |
255 | captures
256 |
257 | 1
258 |
259 | name
260 | punctuation.separator.method-call.fsharp
261 |
262 |
263 | match
264 | [A-Z]\w*(\.)
265 | name
266 | meta.method.fsharp
267 |
268 |
269 |
270 |
271 |
272 | modules
273 |
274 | patterns
275 |
276 |
277 | begin
278 | \b(open)\s+([A-Z][a-zA-Z0-9'_]*)(?=(\.[A-Z][a-zA-Z0-9_]*)*)
279 | beginCaptures
280 |
281 | 1
282 |
283 | name
284 | keyword.other.fsharp
285 |
286 | 2
287 |
288 | name
289 | support.other.module.fsharp
290 |
291 |
292 | end
293 | (\s|$)
294 | name
295 | meta.module.open.fsharp
296 | patterns
297 |
298 |
299 | captures
300 |
301 | 1
302 |
303 | name
304 | punctuation.separator.module-reference.fsharp
305 |
306 | 2
307 |
308 | name
309 | support.other.module.fsharp
310 |
311 |
312 | match
313 | (\.)([A-Z][a-zA-Z0-9'_]*)
314 | name
315 | support.other.module.fsharp
316 |
317 |
318 |
319 |
320 | begin
321 | ^\s*(module)\s+([A-Z][a-zA-Z0-9'_]*)\s*(=)\s*([A-Z][a-zA-Z0-9'_]*)
322 | beginCaptures
323 |
324 | 1
325 |
326 | name
327 | keyword.other.module-definition.fsharp
328 |
329 | 2
330 |
331 | name
332 | entity.name.type.module.fsharp
333 |
334 | 3
335 |
336 | name
337 | punctuation.separator.module-definition.fsharp
338 |
339 | 4
340 |
341 | name
342 | support.other.module.fsharp
343 |
344 |
345 | end
346 | (\s|$)
347 | name
348 | meta.module.alias.fsharp
349 | patterns
350 |
351 |
352 | captures
353 |
354 | 1
355 |
356 | name
357 | punctuation.separator.module-reference.fsharp
358 |
359 | 2
360 |
361 | name
362 | support.other.module.fsharp
363 |
364 |
365 | match
366 | (\.)([A-Z][a-zA-Z0-9'_]*)
367 | name
368 | support.other.module.fsharp
369 |
370 |
371 |
372 |
373 | applyEndPatternLast
374 | 1
375 | begin
376 | (?<!\w)([A-Z][a-zA-Z0-9_]*)(\.)
377 | beginCaptures
378 |
379 | 1
380 |
381 | name
382 | support.other.module.fsharp
383 |
384 | 2
385 |
386 | name
387 | punctuation.separator.module-reference.fsharp
388 |
389 |
390 | end
391 | (?=.)
392 | name
393 | meta.module.reference.fsharp
394 | patterns
395 |
396 |
397 | captures
398 |
399 | 1
400 |
401 | name
402 | punctuation.separator.module-reference.fsharp
403 |
404 |
405 | match
406 | [A-Z][a-zA-Z0-9_]+(\.)
407 | name
408 | support.other.module.fsharp
409 |
410 |
411 |
412 |
413 |
414 | strings
415 |
416 | patterns
417 |
418 |
419 | begin
420 | (")
421 | beginCaptures
422 |
423 | 1
424 |
425 | name
426 | punctuation.definition.string.begin.fsharp
427 |
428 |
429 | end
430 | (")
431 | endCaptures
432 |
433 | 1
434 |
435 | name
436 | punctuation.definition.string.end.fsharp
437 |
438 |
439 | name
440 | string.quoted.double.fsharp
441 | patterns
442 |
443 |
444 | match
445 | \\([\\'ntbr]|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})
446 | name
447 | constant.character.string.escape.fsharp
448 |
449 |
450 | match
451 | \\(?![\\'ntbr]|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8}).
452 | name
453 | invalid.illegal.character.string.fsharp
454 |
455 |
456 |
457 |
458 |
459 | structure
460 |
461 | patterns
462 |
463 |
464 | begin
465 | \(
466 | end
467 | \)
468 | name
469 | meta.paren-group.fsharp
470 | patterns
471 |
472 |
473 | include
474 | $self
475 |
476 |
477 |
478 |
479 |
480 | variables
481 |
482 | patterns
483 |
484 |
485 | match
486 | \(\)
487 | name
488 | variable.parameter.unit.fsharp
489 |
490 |
491 | match
492 | [a-z]\w*
493 | name
494 | variable.parameter.fsharp
495 |
496 |
497 |
498 |
499 | scopeName
500 | source.fsharp
501 | uuid
502 | 6BEEF5E4-D367-49CF-8887-A08B7FA2C3FB
503 |
504 |
505 |
--------------------------------------------------------------------------------