github-linguist 5.0.11 → 5.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/source.antlr.json +2 -2
- data/grammars/source.batchfile.json +31 -39
- data/grammars/source.c++.json +2 -2
- data/grammars/source.c.json +1 -1
- data/grammars/source.capnp.json +2 -2
- data/grammars/source.chapel.json +2 -2
- data/grammars/source.clojure.json +3 -1
- data/grammars/source.coffee.json +6 -6
- data/grammars/source.crystal.json +1 -1
- data/grammars/source.csound-document.json +20 -5
- data/grammars/source.csound-score.json +1 -1
- data/grammars/source.csound.json +7 -20
- data/grammars/source.css.less.json +2 -2
- data/grammars/source.cython.json +2 -2
- data/grammars/source.dart.json +16 -20
- data/grammars/source.ditroff.json +3 -3
- data/grammars/source.elixir.json +3 -3
- data/grammars/source.erlang.json +1 -1
- data/grammars/source.fan.json +345 -0
- data/grammars/source.fancy.json +1 -1
- data/grammars/source.gdb.json +1 -1
- data/grammars/source.gdb.session.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.gfm.json +16 -0
- data/grammars/source.grace.json +1 -1
- data/grammars/source.harbour.json +1 -1
- data/grammars/source.idl.json +1 -1
- data/grammars/source.java.json +2 -2
- data/grammars/source.jison.json +45 -7
- data/grammars/source.jisonlex.json +13 -3
- data/grammars/source.js.json +7 -7
- data/grammars/source.js.regexp.json +2 -2
- data/grammars/source.jsdoc.json +24 -49
- data/grammars/source.livescript.json +4 -4
- data/grammars/source.logtalk.json +1 -1
- data/grammars/source.lsl.json +1 -1
- data/grammars/source.lua.json +5 -7
- data/grammars/source.mask.json +2 -2
- data/grammars/source.nim.json +2 -2
- data/grammars/source.nim_filter.json +2 -2
- data/grammars/source.nimcfg.json +2 -2
- data/grammars/source.nix.json +2 -2
- data/grammars/source.nu.json +2 -2
- data/grammars/source.pan.json +711 -0
- data/grammars/source.pawn.json +1 -1
- data/grammars/source.perl6fe.json +384 -7
- data/grammars/source.php.zephir.json +2 -2
- data/grammars/source.reason.json +2 -2
- data/grammars/source.ring.json +277 -0
- data/grammars/source.rust.json +8 -3
- data/grammars/source.scad.json +2 -2
- data/grammars/source.shell.json +1 -1
- data/grammars/source.smalltalk.json +83 -16
- data/grammars/source.spin.json +2 -2
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.supercollider.json +2 -2
- data/grammars/source.swift.json +41 -2
- data/grammars/source.tl.json +264 -0
- data/grammars/source.toml.json +3 -3
- data/grammars/source.vhdl.json +1 -1
- data/grammars/source.webassembly.json +344 -0
- data/grammars/source.yaml.json +2 -2
- data/grammars/text.haml.json +3 -3
- data/grammars/text.html.handlebars.json +17 -8
- data/grammars/text.html.markdown.source.gfm.mson.json +1 -1
- data/grammars/text.html.php.blade.json +987 -440
- data/grammars/text.html.php.json +6 -6
- data/grammars/text.html.soy.json +3 -3
- data/grammars/text.html.vue.json +10 -10
- data/grammars/text.marko.json +3 -3
- data/grammars/text.roff.json +6 -3
- data/lib/linguist/heuristics.rb +4 -4
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +54 -4
- data/lib/linguist/samples.json +3030 -470
- data/lib/linguist/vendor.yml +3 -0
- data/lib/linguist/version.rb +1 -1
- metadata +7 -2
@@ -439,7 +439,7 @@
|
|
439
439
|
"name": "string.quoted.double.css",
|
440
440
|
"patterns": [
|
441
441
|
{
|
442
|
-
"match": "\\\\(
|
442
|
+
"match": "\\\\([0-9A-Fa-f]{1,6}|.)",
|
443
443
|
"name": "constant.character.escape.css"
|
444
444
|
},
|
445
445
|
{
|
@@ -463,7 +463,7 @@
|
|
463
463
|
"name": "string.quoted.single.css",
|
464
464
|
"patterns": [
|
465
465
|
{
|
466
|
-
"match": "\\\\(
|
466
|
+
"match": "\\\\([0-9A-Fa-f]{1,6}|.)",
|
467
467
|
"name": "constant.character.escape.css"
|
468
468
|
},
|
469
469
|
{
|
data/grammars/source.cython.json
CHANGED
@@ -31,11 +31,11 @@
|
|
31
31
|
]
|
32
32
|
},
|
33
33
|
{
|
34
|
-
"match": "\\b(?i:(0x
|
34
|
+
"match": "\\b(?i:(0x[0-9A-Fa-f]*)L)",
|
35
35
|
"name": "constant.numeric.integer.long.hexadecimal.cython"
|
36
36
|
},
|
37
37
|
{
|
38
|
-
"match": "\\b(?i:(0x
|
38
|
+
"match": "\\b(?i:(0x[0-9A-Fa-f]*))",
|
39
39
|
"name": "constant.numeric.integer.hexadecimal.cython"
|
40
40
|
},
|
41
41
|
{
|
data/grammars/source.dart.json
CHANGED
@@ -180,67 +180,63 @@
|
|
180
180
|
"constants-and-special-vars": {
|
181
181
|
"patterns": [
|
182
182
|
{
|
183
|
-
"match": "\\b(true|false|null)\\b",
|
183
|
+
"match": "(?<!\\$)\\b(true|false|null)\\b(?!\\$)",
|
184
184
|
"name": "constant.language.dart"
|
185
185
|
},
|
186
186
|
{
|
187
|
-
"match": "\\b(this|super)\\b",
|
187
|
+
"match": "(?<!\\$)\\b(this|super)\\b(?!\\$)",
|
188
188
|
"name": "variable.language.dart"
|
189
189
|
},
|
190
190
|
{
|
191
|
-
"match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b",
|
191
|
+
"match": "(?<!\\$)\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b(?!\\$)",
|
192
192
|
"name": "constant.numeric.dart"
|
193
193
|
},
|
194
194
|
{
|
195
|
-
"match": "
|
195
|
+
"match": "(?<![a-zA-Z0-9_$])[_$]*[A-Z][a-zA-Z0-9_$]*",
|
196
196
|
"name": "support.class.dart"
|
197
197
|
},
|
198
198
|
{
|
199
|
-
"match": "(_
|
199
|
+
"match": "([_$]*[a-z][a-zA-Z0-9_$]*)(\\(|\\s+=>)",
|
200
200
|
"captures": {
|
201
201
|
"1": {
|
202
202
|
"name": "entity.name.function.dart"
|
203
203
|
}
|
204
204
|
}
|
205
|
-
},
|
206
|
-
{
|
207
|
-
"match": "\\b[A-Z_0-9]+\\b",
|
208
|
-
"name": "support.constant.dart"
|
209
205
|
}
|
210
206
|
]
|
211
207
|
},
|
212
208
|
"keywords": {
|
213
209
|
"patterns": [
|
214
210
|
{
|
215
|
-
"match": "\\bas\\b",
|
211
|
+
"match": "(?<!\\$)\\bas\\b(?!\\$)",
|
216
212
|
"name": "keyword.cast.dart"
|
217
213
|
},
|
218
214
|
{
|
219
|
-
"match": "\\b(try|on|catch|finally|throw|rethrow)\\b",
|
215
|
+
"match": "(?<!\\$)\\b(try|on|catch|finally|throw|rethrow)\\b(?!\\$)",
|
220
216
|
"name": "keyword.control.catch-exception.dart"
|
221
217
|
},
|
222
218
|
{
|
223
|
-
"match": "\\b(break|case|continue|default|do|else|for|if|in|return|switch|while)\\b",
|
219
|
+
"match": "(?<!\\$)\\b(break|case|continue|default|do|else|for|if|in|return|switch|while)\\b(?!\\$)",
|
224
220
|
"name": "keyword.control.dart"
|
225
221
|
},
|
226
222
|
{
|
227
|
-
"match": "\\b(sync(\\*)?|async(\\*)?|await|yield(\\*)?)\\b",
|
223
|
+
"match": "(?<!\\$)\\b(sync(\\*)?|async(\\*)?|await|yield(\\*)?)\\b(?!\\$)",
|
228
224
|
"name": "keyword.control.dart"
|
229
225
|
},
|
230
226
|
{
|
231
|
-
"match": "\\bassert\\b",
|
227
|
+
"match": "(?<!\\$)\\bassert\\b(?!\\$)",
|
232
228
|
"name": "keyword.control.dart"
|
233
229
|
},
|
234
230
|
{
|
235
|
-
"match": "\\b(new)\\b",
|
231
|
+
"match": "(?<!\\$)\\b(new)\\b(?!\\$)",
|
236
232
|
"name": "keyword.control.new.dart"
|
237
233
|
},
|
238
234
|
{
|
239
|
-
"match": "\\b(abstract|class|enum|extends|external|factory|implements|
|
235
|
+
"match": "(?<!\\$)\\b(abstract|class|enum|extends|external|factory|implements|get|native|operator|set|typedef|with)\\b(?!\\$)",
|
240
236
|
"name": "keyword.declaration.dart"
|
241
237
|
},
|
242
238
|
{
|
243
|
-
"match": "\\b(is\\!?)\\b",
|
239
|
+
"match": "(?<!\\$)\\b(is\\!?)\\b(?!\\$)",
|
244
240
|
"name": "keyword.operator.dart"
|
245
241
|
},
|
246
242
|
{
|
@@ -280,11 +276,11 @@
|
|
280
276
|
"name": "keyword.operator.logical.dart"
|
281
277
|
},
|
282
278
|
{
|
283
|
-
"match": "\\b(static|final|const)\\b",
|
279
|
+
"match": "(?<!\\$)\\b(static|final|const)\\b(?!\\$)",
|
284
280
|
"name": "storage.modifier.dart"
|
285
281
|
},
|
286
282
|
{
|
287
|
-
"match": "\\b(?:void|bool|num|int|double|dynamic|var)\\b",
|
283
|
+
"match": "(?<!\\$)\\b(?:void|bool|num|int|double|dynamic|var)\\b(?!\\$)",
|
288
284
|
"name": "storage.type.primitive.dart"
|
289
285
|
}
|
290
286
|
]
|
@@ -300,7 +296,7 @@
|
|
300
296
|
"name": "variable.parameter.dart"
|
301
297
|
}
|
302
298
|
},
|
303
|
-
"match": "\\$((\\w+)|\\{(
|
299
|
+
"match": "\\$((\\w+)|\\{([^{}]+)\\})"
|
304
300
|
},
|
305
301
|
{
|
306
302
|
"match": "\\\\.",
|
@@ -184,7 +184,7 @@
|
|
184
184
|
"patterns": [
|
185
185
|
{
|
186
186
|
"name": "meta.custom.device-control.ditroff",
|
187
|
-
"begin": "
|
187
|
+
"begin": "(x)\\s*(X\\S*)",
|
188
188
|
"end": "^(?!\\+)",
|
189
189
|
"beginCaptures": {
|
190
190
|
"1": {
|
@@ -204,7 +204,7 @@
|
|
204
204
|
},
|
205
205
|
{
|
206
206
|
"name": "meta.device-control.ditroff",
|
207
|
-
"begin": "
|
207
|
+
"begin": "(x)\\s*",
|
208
208
|
"end": "(?=$|#)",
|
209
209
|
"beginCaptures": {
|
210
210
|
"1": {
|
@@ -536,7 +536,7 @@
|
|
536
536
|
}
|
537
537
|
},
|
538
538
|
"wordSpace": {
|
539
|
-
"name": "entity.name.function.ditroff",
|
539
|
+
"name": "entity.name.function.word-space.ditroff",
|
540
540
|
"match": "(?<=^|[\\s\\d])w"
|
541
541
|
}
|
542
542
|
}
|
data/grammars/source.elixir.json
CHANGED
@@ -370,7 +370,7 @@
|
|
370
370
|
"name": "support.type.binary.elixir"
|
371
371
|
},
|
372
372
|
{
|
373
|
-
"match": "\\b(0x
|
373
|
+
"match": "\\b(0x[0-9A-Fa-f](?>_?[0-9A-Fa-f])*|\\d(?>_?\\d)*(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)?([eE][-+]?\\d(?>_?\\d)*)?|0b[01]+|0o[0-7]+)\\b",
|
374
374
|
"name": "constant.numeric.elixir"
|
375
375
|
}
|
376
376
|
]
|
@@ -424,7 +424,7 @@
|
|
424
424
|
"name": "variable.other.capture.elixir"
|
425
425
|
},
|
426
426
|
{
|
427
|
-
"match": "\\b(0x
|
427
|
+
"match": "\\b(0x[0-9A-Fa-f](?>_?[0-9A-Fa-f])*|\\d(?>_?\\d)*(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)?([eE][-+]?\\d(?>_?\\d)*)?|0b[01]+|0o[0-7]+)\\b",
|
428
428
|
"name": "constant.numeric.elixir"
|
429
429
|
},
|
430
430
|
{
|
@@ -842,7 +842,7 @@
|
|
842
842
|
},
|
843
843
|
{
|
844
844
|
"comment": "\n\t\t\tmatches questionmark-letters.\n\n\t\t\texamples (1st alternation = hex):\n\t\t\t?\\x1 ?\\x61\n\n\t\t\texamples (2rd alternation = escaped):\n\t\t\t?\\n ?\\b\n\n\t\t\texamples (3rd alternation = normal):\n\t\t\t?a ?A ?0 \n\t\t\t?* ?\" ?( \n\t\t\t?. ?#\n\t\t\t\n\t\t\tthe negative lookbehind prevents against matching\n\t\t\tp(42.tainted?)\n\t\t\t",
|
845
|
-
"match": "(?<!\\w)\\?(\\\\(x
|
845
|
+
"match": "(?<!\\w)\\?(\\\\(x[0-9A-Fa-f]{1,2}(?![0-9A-Fa-f])\\b|[^xMC])|[^\\s\\\\])",
|
846
846
|
"name": "constant.numeric.elixir"
|
847
847
|
},
|
848
848
|
{
|
data/grammars/source.erlang.json
CHANGED
@@ -0,0 +1,345 @@
|
|
1
|
+
{
|
2
|
+
"fileTypes": [
|
3
|
+
"fan"
|
4
|
+
],
|
5
|
+
"name": "Fantom",
|
6
|
+
"patterns": [
|
7
|
+
{
|
8
|
+
"include": "#main"
|
9
|
+
}
|
10
|
+
],
|
11
|
+
"repository": {
|
12
|
+
"comments": {
|
13
|
+
"patterns": [
|
14
|
+
{
|
15
|
+
"include": "#line-comment"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"include": "#fandoc-comment"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"include": "#multiline-comment"
|
22
|
+
}
|
23
|
+
]
|
24
|
+
},
|
25
|
+
"double-quoted-string": {
|
26
|
+
"patterns": [
|
27
|
+
{
|
28
|
+
"begin": "(\")",
|
29
|
+
"end": "(\")",
|
30
|
+
"name": "string.quoted.double.fan",
|
31
|
+
"patterns": [
|
32
|
+
{
|
33
|
+
"include": "#escaped-unicode"
|
34
|
+
},
|
35
|
+
{
|
36
|
+
"include": "#escaped-char"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"include": "#interpolation"
|
40
|
+
}
|
41
|
+
]
|
42
|
+
}
|
43
|
+
]
|
44
|
+
},
|
45
|
+
"escaped-char": {
|
46
|
+
"patterns": [
|
47
|
+
{
|
48
|
+
"match": "(\\\\[bfnrt\"'`$\\\\])",
|
49
|
+
"name": "constant.character.escape.char.fan"
|
50
|
+
},
|
51
|
+
{
|
52
|
+
"match": "(\\\\.)",
|
53
|
+
"name": "invalid.illegal.escape.char.fan"
|
54
|
+
}
|
55
|
+
]
|
56
|
+
},
|
57
|
+
"escaped-unicode": {
|
58
|
+
"patterns": [
|
59
|
+
{
|
60
|
+
"match": "(\\\\u[0-9A-Fa-f]{4})",
|
61
|
+
"name": "constant.character.escape.unicode.fan"
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"match": "(\\\\u[0-9A-Fa-f]{0,3})",
|
65
|
+
"name": "invalid.illegal.escape.unicode.fan"
|
66
|
+
}
|
67
|
+
]
|
68
|
+
},
|
69
|
+
"fandoc-comment": {
|
70
|
+
"patterns": [
|
71
|
+
{
|
72
|
+
"match": "(^\\s*\\*\\*.*$)",
|
73
|
+
"name": "comment.line.fandoc.fan"
|
74
|
+
}
|
75
|
+
]
|
76
|
+
},
|
77
|
+
"interpolation": {
|
78
|
+
"patterns": [
|
79
|
+
{
|
80
|
+
"match": "(\\$\\{.+?\\})",
|
81
|
+
"name": "variable.other.interpolated-expr.fan"
|
82
|
+
},
|
83
|
+
{
|
84
|
+
"match": "(\\$([A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*)*))",
|
85
|
+
"name": "variable.other.interpolated-dotcall.fan"
|
86
|
+
},
|
87
|
+
{
|
88
|
+
"match": "(\\$\\{\\w*)",
|
89
|
+
"name": "invalid.illegal.interpolation.fan"
|
90
|
+
}
|
91
|
+
]
|
92
|
+
},
|
93
|
+
"keywords": {
|
94
|
+
"patterns": [
|
95
|
+
{
|
96
|
+
"match": "(\\b(true|false|null)\\b)",
|
97
|
+
"name": "constant.language.fan"
|
98
|
+
},
|
99
|
+
{
|
100
|
+
"match": "(\\b(abstract|const|enum|facet|final|internal|native|once|override|private|protected|public|readonly|static|virtual|volatile)\\b)",
|
101
|
+
"name": "storage.modifier.fan"
|
102
|
+
},
|
103
|
+
{
|
104
|
+
"match": "(\\b(return|break|continue)\\b)",
|
105
|
+
"name": "keyword.control.block.fan"
|
106
|
+
},
|
107
|
+
{
|
108
|
+
"match": "(\\b(try|catch|finally|throw|assert)\\b)",
|
109
|
+
"name": "keyword.control.exceptions.fan"
|
110
|
+
},
|
111
|
+
{
|
112
|
+
"match": "(\\b(for|while|do|foreach)\\b)",
|
113
|
+
"name": "keyword.control.loop.fan"
|
114
|
+
},
|
115
|
+
{
|
116
|
+
"match": "(\\b(if|else|switch|case|default)\\b)",
|
117
|
+
"name": "keyword.control.flow.fan"
|
118
|
+
},
|
119
|
+
{
|
120
|
+
"match": "(\\b(new|void)\\b)",
|
121
|
+
"name": "keyword.other.fan"
|
122
|
+
},
|
123
|
+
{
|
124
|
+
"match": "(\\b(using)\\b)",
|
125
|
+
"name": "storage.modifier.global.fan"
|
126
|
+
},
|
127
|
+
{
|
128
|
+
"match": "(\\b(this|super|it)\\b)",
|
129
|
+
"name": "variable.language.self.fan"
|
130
|
+
},
|
131
|
+
{
|
132
|
+
"match": "(\\b(Void|Bool|Int|Float|Decimal|Duration|Str|Uri|Type|Slot|Range|List|Map|This)\\b)",
|
133
|
+
"name": "support.type.sys.fan"
|
134
|
+
}
|
135
|
+
]
|
136
|
+
},
|
137
|
+
"line-comment": {
|
138
|
+
"patterns": [
|
139
|
+
{
|
140
|
+
"match": "((//).*$)",
|
141
|
+
"name": "comment.line.double-slash.fan"
|
142
|
+
}
|
143
|
+
]
|
144
|
+
},
|
145
|
+
"main": {
|
146
|
+
"patterns": [
|
147
|
+
{
|
148
|
+
"include": "#comments"
|
149
|
+
},
|
150
|
+
{
|
151
|
+
"include": "#strings"
|
152
|
+
},
|
153
|
+
{
|
154
|
+
"include": "#uris"
|
155
|
+
},
|
156
|
+
{
|
157
|
+
"include": "#numbers"
|
158
|
+
},
|
159
|
+
{
|
160
|
+
"include": "#keywords"
|
161
|
+
},
|
162
|
+
{
|
163
|
+
"include": "#operators"
|
164
|
+
},
|
165
|
+
{
|
166
|
+
"include": "#typedef"
|
167
|
+
}
|
168
|
+
]
|
169
|
+
},
|
170
|
+
"multiline-comment": {
|
171
|
+
"patterns": [
|
172
|
+
{
|
173
|
+
"begin": "(/\\*)",
|
174
|
+
"end": "(\\*/)",
|
175
|
+
"name": "comment.block"
|
176
|
+
}
|
177
|
+
]
|
178
|
+
},
|
179
|
+
"numbers": {
|
180
|
+
"patterns": [
|
181
|
+
{
|
182
|
+
"match": "(\\b0x[0-9A-Fa-f][_0-9A-Fa-f]*)",
|
183
|
+
"name": "constant.numeric.hex.fan"
|
184
|
+
},
|
185
|
+
{
|
186
|
+
"match": "(0x)",
|
187
|
+
"name": "invalid.illegal.hex.fan"
|
188
|
+
},
|
189
|
+
{
|
190
|
+
"match": "(\\\\u[0-9A-Fa-f]{4})",
|
191
|
+
"name": "constant.numeric.escape.unicode.fan"
|
192
|
+
},
|
193
|
+
{
|
194
|
+
"match": "(\\\\(u[0-9A-Fa-f]{0,3})?)",
|
195
|
+
"name": "invalid.illegal.escape.unicode.fan"
|
196
|
+
},
|
197
|
+
{
|
198
|
+
"match": "(\\'\\\\[bfnrt\"'$\\\\]\\')",
|
199
|
+
"name": "constant.numeric.escape.char.fan"
|
200
|
+
},
|
201
|
+
{
|
202
|
+
"match": "(\\'[^\\\\]\\')",
|
203
|
+
"name": "constant.numeric.char.fan"
|
204
|
+
},
|
205
|
+
{
|
206
|
+
"match": "((\\B\\.[0-9][0-9_]*|\\b[0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE][-+]?[0-9][0-9_]*)?(ns|ms|sec|min|hr|day))",
|
207
|
+
"name": "constant.other.duration.fan"
|
208
|
+
},
|
209
|
+
{
|
210
|
+
"match": "((\\B\\.[0-9][0-9_]*|\\b[0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE][-+]?[0-9][0-9_]*)?[fdFD]?)",
|
211
|
+
"name": "constant.numeric.number.fan"
|
212
|
+
}
|
213
|
+
]
|
214
|
+
},
|
215
|
+
"operators": {
|
216
|
+
"patterns": [
|
217
|
+
{
|
218
|
+
"match": "(===?|!==?)",
|
219
|
+
"name": "keyword.operator.equality.fan"
|
220
|
+
},
|
221
|
+
{
|
222
|
+
"match": "(<(=|=>)?|>=?)",
|
223
|
+
"name": "keyword.operator.relational.symbol.fan"
|
224
|
+
},
|
225
|
+
{
|
226
|
+
"match": "(:?=)",
|
227
|
+
"name": "keyword.operator.assign.fan"
|
228
|
+
},
|
229
|
+
{
|
230
|
+
"match": "([+*/%-]=?)",
|
231
|
+
"name": "keyword.operator.math.fan"
|
232
|
+
},
|
233
|
+
{
|
234
|
+
"match": "(!|&&|(\\?\\:)|(\\|\\|))",
|
235
|
+
"name": "keyword.operator.logical.fan"
|
236
|
+
},
|
237
|
+
{
|
238
|
+
"match": "(\\b(is|isnot|as)\\b)",
|
239
|
+
"name": "keyword.operator.relational.named.fan"
|
240
|
+
},
|
241
|
+
{
|
242
|
+
"match": "(\\->|\\?\\->|\\?\\.)",
|
243
|
+
"name": "keyword.operator.call.fan"
|
244
|
+
},
|
245
|
+
{
|
246
|
+
"match": "(\\+\\+|\\-\\-)",
|
247
|
+
"name": "keyword.operator.inc-dec.fan"
|
248
|
+
},
|
249
|
+
{
|
250
|
+
"match": "(\\.\\.<?)",
|
251
|
+
"name": "keyword.operator.range.fan"
|
252
|
+
},
|
253
|
+
{
|
254
|
+
"match": "(\\?|:)",
|
255
|
+
"name": "keyword.operator.tertiary.fan"
|
256
|
+
},
|
257
|
+
{
|
258
|
+
"match": "(;)",
|
259
|
+
"name": "punctuation.terminator.fan"
|
260
|
+
}
|
261
|
+
]
|
262
|
+
},
|
263
|
+
"string-dsl": {
|
264
|
+
"patterns": [
|
265
|
+
{
|
266
|
+
"begin": "((Str)<\\|)",
|
267
|
+
"captures": {
|
268
|
+
"1": {
|
269
|
+
"name": "support.type.sys.fan"
|
270
|
+
}
|
271
|
+
},
|
272
|
+
"end": "(\\|>)",
|
273
|
+
"name": "string.quoted.other.fan"
|
274
|
+
}
|
275
|
+
]
|
276
|
+
},
|
277
|
+
"strings": {
|
278
|
+
"patterns": [
|
279
|
+
{
|
280
|
+
"include": "#triple-quoted-string"
|
281
|
+
},
|
282
|
+
{
|
283
|
+
"include": "#double-quoted-string"
|
284
|
+
},
|
285
|
+
{
|
286
|
+
"include": "#string-dsl"
|
287
|
+
}
|
288
|
+
]
|
289
|
+
},
|
290
|
+
"triple-quoted-string": {
|
291
|
+
"patterns": [
|
292
|
+
{
|
293
|
+
"begin": "\"\"\"",
|
294
|
+
"end": "\"\"\"",
|
295
|
+
"name": "string.quoted.triple.fan",
|
296
|
+
"patterns": [
|
297
|
+
{
|
298
|
+
"match": "\\\\\"",
|
299
|
+
"name": "invalid.illegal.escape.char.fan"
|
300
|
+
},
|
301
|
+
{
|
302
|
+
"include": "#escaped-unicode"
|
303
|
+
},
|
304
|
+
{
|
305
|
+
"include": "#escaped-char"
|
306
|
+
},
|
307
|
+
{
|
308
|
+
"include": "#interpolation"
|
309
|
+
}
|
310
|
+
]
|
311
|
+
}
|
312
|
+
]
|
313
|
+
},
|
314
|
+
"typedef": {
|
315
|
+
"patterns": [
|
316
|
+
{
|
317
|
+
"match": "(class|mixin)(?=\\s+([A-Za-z_][A-Za-z0-9_]*))",
|
318
|
+
"name": "storage.modifier.fan"
|
319
|
+
}
|
320
|
+
]
|
321
|
+
},
|
322
|
+
"uris": {
|
323
|
+
"patterns": [
|
324
|
+
{
|
325
|
+
"begin": "(`)",
|
326
|
+
"end": "(`)",
|
327
|
+
"name": "string.quoted.other.uri.fan",
|
328
|
+
"patterns": [
|
329
|
+
{
|
330
|
+
"include": "#escaped-unicode"
|
331
|
+
},
|
332
|
+
{
|
333
|
+
"include": "#escaped-char"
|
334
|
+
},
|
335
|
+
{
|
336
|
+
"include": "#interpolation"
|
337
|
+
}
|
338
|
+
]
|
339
|
+
}
|
340
|
+
]
|
341
|
+
}
|
342
|
+
},
|
343
|
+
"scopeName": "source.fan",
|
344
|
+
"uuid": "de0743d9-c48e-44a0-a28b-6003d88f09d0"
|
345
|
+
}
|