github-linguist 4.8.8 → 4.8.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/hint.haskell.json +1123 -0
- data/grammars/hint.message.haskell.json +1147 -0
- data/grammars/hint.type.haskell.json +1120 -0
- data/grammars/source.asn.json +59 -0
- data/grammars/source.blitzmax.json +0 -2
- data/grammars/source.bsl.json +372 -0
- data/grammars/source.c++.json +67 -0
- data/grammars/source.c2hs.json +27 -0
- data/grammars/source.cabal.json +66 -0
- data/grammars/source.coffee.json +6 -5
- data/grammars/source.crystal.json +0 -11
- data/grammars/source.csound-score.json +3 -3
- data/grammars/source.csound.json +51 -15
- data/grammars/source.css.json +1 -1
- data/grammars/source.css.less.json +9 -5
- data/grammars/source.cython.json +42 -193
- data/grammars/source.d.json +7 -7
- data/grammars/source.elixir.json +2 -2
- data/grammars/source.forth.json +0 -2
- data/grammars/source.graphql.json +8 -2
- data/grammars/source.haskell.json +1089 -323
- data/grammars/source.hsc2hs.json +12 -0
- data/grammars/source.ideal.json +356 -0
- data/grammars/source.java.json +3 -0
- data/grammars/source.js.json +262 -131
- data/grammars/source.js.jsx.json +848 -256
- data/grammars/source.lsl.json +51 -103
- data/grammars/source.objc.json +1 -1
- data/grammars/source.parrot.pir.json +49 -15
- data/grammars/source.pic.json +868 -0
- data/grammars/source.purescript.json +114 -90
- data/grammars/source.python.json +11 -9
- data/grammars/source.regexp.babel.json +1 -1
- data/grammars/source.renpy.json +7 -7
- data/grammars/source.rexx.json +59 -0
- data/grammars/source.sas.json +8 -75
- data/grammars/source.sdbl.json +97 -0
- data/grammars/source.shell.json +1 -0
- data/grammars/source.smali.json +2 -2
- data/grammars/source.sqf.json +11 -11
- data/grammars/source.stan.json +60 -25
- data/grammars/source.tla.json +18 -6
- data/grammars/source.toc.json +5 -1
- data/grammars/source.ts.json +134 -31
- data/grammars/source.tsx.json +134 -31
- data/grammars/source.vhdl.json +150 -117
- data/grammars/source.viml.json +4 -4
- data/grammars/source.xquery.json +23 -5
- data/grammars/source.yaml.json +35 -19
- data/grammars/text.html.handlebars.json +2 -2
- data/grammars/text.html.php.blade.json +1 -1
- data/grammars/text.html.twig.json +1 -4
- data/grammars/text.html.vue.json +41 -1
- data/grammars/text.restructuredtext.json +56 -1
- data/grammars/text.roff.json +5089 -0
- data/grammars/text.runoff.json +321 -0
- data/grammars/text.slim.json +126 -105
- data/grammars/text.tex.latex.haskell.json +1335 -21
- data/lib/linguist/heuristics.rb +8 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +58 -3
- data/lib/linguist/samples.json +5257 -76
- data/lib/linguist/version.rb +1 -1
- metadata +16 -4
- data/grammars/source.man.json +0 -53
- data/grammars/text.groff.json +0 -113
@@ -0,0 +1,356 @@
|
|
1
|
+
{
|
2
|
+
"scopeName": "source.ideal",
|
3
|
+
"patterns": [
|
4
|
+
{
|
5
|
+
"include": "#external"
|
6
|
+
},
|
7
|
+
{
|
8
|
+
"include": "#main"
|
9
|
+
}
|
10
|
+
],
|
11
|
+
"repository": {
|
12
|
+
"external": {
|
13
|
+
"patterns": [
|
14
|
+
{
|
15
|
+
"include": "source.pic#tags"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"begin": "^(?=[.'][ \t]*(?:\\w|\\\\))",
|
19
|
+
"end": "(?<!\\\\)$|(\\\\\".*)$",
|
20
|
+
"patterns": [
|
21
|
+
{
|
22
|
+
"include": "text.roff"
|
23
|
+
}
|
24
|
+
],
|
25
|
+
"endCaptures": {
|
26
|
+
"1": {
|
27
|
+
"patterns": [
|
28
|
+
{
|
29
|
+
"include": "text.roff"
|
30
|
+
}
|
31
|
+
]
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
35
|
+
]
|
36
|
+
},
|
37
|
+
"tags": {
|
38
|
+
"begin": "^([.'])[ \t]*(IS)\\b\\s*(\\\\[\"#].*$)?",
|
39
|
+
"end": "^([.'])[ \t]*(IE)\\b",
|
40
|
+
"contentName": "source.embedded.ideal",
|
41
|
+
"patterns": [
|
42
|
+
{
|
43
|
+
"include": "$self"
|
44
|
+
}
|
45
|
+
],
|
46
|
+
"beginCaptures": {
|
47
|
+
"0": {
|
48
|
+
"name": "meta.function.begin.ideal.section.macro.roff"
|
49
|
+
},
|
50
|
+
"1": {
|
51
|
+
"name": "punctuation.definition.macro.roff"
|
52
|
+
},
|
53
|
+
"2": {
|
54
|
+
"name": "entity.function.name.roff"
|
55
|
+
},
|
56
|
+
"3": {
|
57
|
+
"patterns": [
|
58
|
+
{
|
59
|
+
"include": "text.roff#escapes"
|
60
|
+
}
|
61
|
+
]
|
62
|
+
}
|
63
|
+
},
|
64
|
+
"endCaptures": {
|
65
|
+
"0": {
|
66
|
+
"name": "meta.function.end.ideal.section.macro.roff"
|
67
|
+
},
|
68
|
+
"1": {
|
69
|
+
"name": "punctuation.definition.macro.roff"
|
70
|
+
},
|
71
|
+
"2": {
|
72
|
+
"name": "entity.function.name.roff"
|
73
|
+
}
|
74
|
+
}
|
75
|
+
},
|
76
|
+
"main": {
|
77
|
+
"patterns": [
|
78
|
+
{
|
79
|
+
"include": "#comment"
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"include": "#strings"
|
83
|
+
},
|
84
|
+
{
|
85
|
+
"include": "#number"
|
86
|
+
},
|
87
|
+
{
|
88
|
+
"include": "#libfile"
|
89
|
+
},
|
90
|
+
{
|
91
|
+
"include": "#variables"
|
92
|
+
},
|
93
|
+
{
|
94
|
+
"include": "#box"
|
95
|
+
},
|
96
|
+
{
|
97
|
+
"include": "#function-call"
|
98
|
+
},
|
99
|
+
{
|
100
|
+
"include": "#keywords"
|
101
|
+
},
|
102
|
+
{
|
103
|
+
"include": "#operators"
|
104
|
+
},
|
105
|
+
{
|
106
|
+
"include": "#punctuation"
|
107
|
+
}
|
108
|
+
]
|
109
|
+
},
|
110
|
+
"box": {
|
111
|
+
"begin": "(\\w+)[ \t]*(\\{)",
|
112
|
+
"end": "\\}",
|
113
|
+
"beginCaptures": {
|
114
|
+
"0": {
|
115
|
+
"name": "meta.box.definition.ideal"
|
116
|
+
},
|
117
|
+
"1": {
|
118
|
+
"name": "entity.function.box.name.ideal"
|
119
|
+
},
|
120
|
+
"2": {
|
121
|
+
"name": "punctuation.definition.bracket.curly.ideal"
|
122
|
+
}
|
123
|
+
},
|
124
|
+
"endCaptures": {
|
125
|
+
"0": {
|
126
|
+
"name": "punctuation.definition.bracket.curly.ideal"
|
127
|
+
}
|
128
|
+
},
|
129
|
+
"patterns": [
|
130
|
+
{
|
131
|
+
"include": "$self"
|
132
|
+
}
|
133
|
+
]
|
134
|
+
},
|
135
|
+
"comment": {
|
136
|
+
"name": "comment.block.ideal",
|
137
|
+
"begin": "/\\*",
|
138
|
+
"end": "\\*/"
|
139
|
+
},
|
140
|
+
"function-call": {
|
141
|
+
"name": "meta.function-call.ideal",
|
142
|
+
"begin": "(\\w+)(\\()",
|
143
|
+
"end": "(?=\\))",
|
144
|
+
"beginCaptures": {
|
145
|
+
"1": {
|
146
|
+
"name": "entity.function.name.ideal"
|
147
|
+
},
|
148
|
+
"2": {
|
149
|
+
"name": "punctuation.definition.bracket.round.ideal"
|
150
|
+
}
|
151
|
+
},
|
152
|
+
"patterns": [
|
153
|
+
{
|
154
|
+
"include": "$self"
|
155
|
+
}
|
156
|
+
]
|
157
|
+
},
|
158
|
+
"libfile": {
|
159
|
+
"name": "meta.libfile.include.ideal",
|
160
|
+
"match": "((\\.{3})libfile)\\b",
|
161
|
+
"captures": {
|
162
|
+
"1": {
|
163
|
+
"name": "keyword.control.directive.include.ideal"
|
164
|
+
},
|
165
|
+
"2": {
|
166
|
+
"name": "punctuation.definition.directive.include.ideal"
|
167
|
+
}
|
168
|
+
}
|
169
|
+
},
|
170
|
+
"keywords": {
|
171
|
+
"patterns": [
|
172
|
+
{
|
173
|
+
"name": "keyword.operator.$1.ideal",
|
174
|
+
"match": "\\b(at|box|conn|construct|to|put|using|opaque(?:\\s+exterior)?)\\b(?:\\s+(?:\\w+)\\s*(:)\\s*?)?",
|
175
|
+
"captures": {
|
176
|
+
"2": {
|
177
|
+
"name": "punctuation.separator.dictionary.key-value.ideal"
|
178
|
+
}
|
179
|
+
}
|
180
|
+
},
|
181
|
+
{
|
182
|
+
"name": "entity.function.box.name.ideal",
|
183
|
+
"match": "\\b(left|right|spline)\\b"
|
184
|
+
}
|
185
|
+
]
|
186
|
+
},
|
187
|
+
"number": {
|
188
|
+
"name": "constant.numeric.ideal",
|
189
|
+
"match": "(?<![A-Za-z])\\d+(?:\\.\\d+)?"
|
190
|
+
},
|
191
|
+
"operators": {
|
192
|
+
"patterns": [
|
193
|
+
{
|
194
|
+
"name": "keyword.operator.assignment.ideal",
|
195
|
+
"match": "="
|
196
|
+
},
|
197
|
+
{
|
198
|
+
"name": "keyword.operator.arithmetic.ideal",
|
199
|
+
"match": "[-+*/~]"
|
200
|
+
}
|
201
|
+
]
|
202
|
+
},
|
203
|
+
"punctuation": {
|
204
|
+
"patterns": [
|
205
|
+
{
|
206
|
+
"name": "punctuation.delimiter.full-stop.period.ideal",
|
207
|
+
"match": "\\."
|
208
|
+
},
|
209
|
+
{
|
210
|
+
"name": "punctuation.delimiter.object.comma.ideal",
|
211
|
+
"match": ","
|
212
|
+
},
|
213
|
+
{
|
214
|
+
"name": "punctuation.terminator.statement.ideal",
|
215
|
+
"match": ";"
|
216
|
+
},
|
217
|
+
{
|
218
|
+
"name": "punctuation.definition.bracket.round.ideal",
|
219
|
+
"match": "\\)"
|
220
|
+
},
|
221
|
+
{
|
222
|
+
"name": "punctuation.definition.bracket.square.ideal",
|
223
|
+
"match": "\\]"
|
224
|
+
},
|
225
|
+
{
|
226
|
+
"name": "punctuation.definition.bracket.curly.ideal",
|
227
|
+
"match": "\\}"
|
228
|
+
},
|
229
|
+
{
|
230
|
+
"begin": "\\(",
|
231
|
+
"end": "\\)",
|
232
|
+
"beginCaptures": {
|
233
|
+
"0": {
|
234
|
+
"name": "punctuation.definition.bracket.round.ideal"
|
235
|
+
}
|
236
|
+
},
|
237
|
+
"endCaptures": {
|
238
|
+
"0": {
|
239
|
+
"name": "punctuation.definition.bracket.round.ideal"
|
240
|
+
}
|
241
|
+
},
|
242
|
+
"patterns": [
|
243
|
+
{
|
244
|
+
"include": "$self"
|
245
|
+
}
|
246
|
+
]
|
247
|
+
},
|
248
|
+
{
|
249
|
+
"begin": "\\[",
|
250
|
+
"end": "\\]",
|
251
|
+
"beginCaptures": {
|
252
|
+
"0": {
|
253
|
+
"name": "punctuation.definition.bracket.square.ideal"
|
254
|
+
}
|
255
|
+
},
|
256
|
+
"endCaptures": {
|
257
|
+
"0": {
|
258
|
+
"name": "punctuation.definition.bracket.square.ideal"
|
259
|
+
}
|
260
|
+
},
|
261
|
+
"patterns": [
|
262
|
+
{
|
263
|
+
"include": "$self"
|
264
|
+
}
|
265
|
+
]
|
266
|
+
},
|
267
|
+
{
|
268
|
+
"begin": "\\{",
|
269
|
+
"end": "\\}",
|
270
|
+
"beginCaptures": {
|
271
|
+
"0": {
|
272
|
+
"name": "punctuation.definition.bracket.curly.ideal"
|
273
|
+
}
|
274
|
+
},
|
275
|
+
"endCaptures": {
|
276
|
+
"0": {
|
277
|
+
"name": "punctuation.definition.bracket.curly.ideal"
|
278
|
+
}
|
279
|
+
},
|
280
|
+
"patterns": [
|
281
|
+
{
|
282
|
+
"include": "$self"
|
283
|
+
}
|
284
|
+
]
|
285
|
+
},
|
286
|
+
{
|
287
|
+
"begin": "<",
|
288
|
+
"end": ">",
|
289
|
+
"beginCaptures": {
|
290
|
+
"0": {
|
291
|
+
"name": "punctuation.definition.bracket.angle.ideal"
|
292
|
+
}
|
293
|
+
},
|
294
|
+
"endCaptures": {
|
295
|
+
"0": {
|
296
|
+
"name": "punctuation.definition.bracket.angle.ideal"
|
297
|
+
}
|
298
|
+
}
|
299
|
+
}
|
300
|
+
]
|
301
|
+
},
|
302
|
+
"strings": {
|
303
|
+
"patterns": [
|
304
|
+
{
|
305
|
+
"name": "string.quoted.single.ideal",
|
306
|
+
"begin": "'",
|
307
|
+
"end": "'",
|
308
|
+
"beginCaptures": {
|
309
|
+
"0": {
|
310
|
+
"name": "punctuation.definition.string.begin.ideal"
|
311
|
+
}
|
312
|
+
},
|
313
|
+
"endCaptures": {
|
314
|
+
"0": {
|
315
|
+
"name": "punctuation.definition.string.end.ideal"
|
316
|
+
}
|
317
|
+
}
|
318
|
+
},
|
319
|
+
{
|
320
|
+
"name": "string.quoted.double.ideal",
|
321
|
+
"begin": "\"",
|
322
|
+
"end": "\"",
|
323
|
+
"beginCaptures": {
|
324
|
+
"0": {
|
325
|
+
"name": "punctuation.definition.string.begin.ideal"
|
326
|
+
}
|
327
|
+
},
|
328
|
+
"endCaptures": {
|
329
|
+
"0": {
|
330
|
+
"name": "punctuation.definition.string.end.ideal"
|
331
|
+
}
|
332
|
+
},
|
333
|
+
"patterns": [
|
334
|
+
{
|
335
|
+
"include": "#escapes"
|
336
|
+
}
|
337
|
+
]
|
338
|
+
}
|
339
|
+
]
|
340
|
+
},
|
341
|
+
"variables": {
|
342
|
+
"begin": "\\b(var)\\b",
|
343
|
+
"end": "(?=;)",
|
344
|
+
"patterns": [
|
345
|
+
{
|
346
|
+
"include": "#punctuation"
|
347
|
+
}
|
348
|
+
],
|
349
|
+
"beginCaptures": {
|
350
|
+
"1": {
|
351
|
+
"name": "storage.type.var.ideal"
|
352
|
+
}
|
353
|
+
}
|
354
|
+
}
|
355
|
+
}
|
356
|
+
}
|
data/grammars/source.java.json
CHANGED
data/grammars/source.js.json
CHANGED
@@ -21,16 +21,16 @@
|
|
21
21
|
"name": "JavaScript",
|
22
22
|
"patterns": [
|
23
23
|
{
|
24
|
-
"comment": "ES6 import",
|
25
24
|
"begin": "(?<!\\.)\\b(import)(?!\\s*:)\\b",
|
26
25
|
"beginCaptures": {
|
27
26
|
"1": {
|
28
27
|
"name": "keyword.control.js"
|
29
28
|
}
|
30
29
|
},
|
30
|
+
"end": "(?=;|$)",
|
31
|
+
"name": "meta.import.js",
|
31
32
|
"patterns": [
|
32
33
|
{
|
33
|
-
"comment": "{ member1 , member2 as alias2 , [...] }",
|
34
34
|
"begin": "\\{",
|
35
35
|
"beginCaptures": {
|
36
36
|
"0": {
|
@@ -45,7 +45,7 @@
|
|
45
45
|
},
|
46
46
|
"patterns": [
|
47
47
|
{
|
48
|
-
"
|
48
|
+
"match": "(?x)\n(?: \\b(default)\\b | \\b([a-zA-Z_$][\\w$]*)\\b)\n\\s*\n(\\b as \\b)\n\\s*\n(?: (\\b default \\b | \\*) | \\b([a-zA-Z_$][\\w$]*)\\b)",
|
49
49
|
"captures": {
|
50
50
|
"1": {
|
51
51
|
"name": "variable.language.default.js"
|
@@ -62,8 +62,7 @@
|
|
62
62
|
"5": {
|
63
63
|
"name": "variable.other.module-alias.js"
|
64
64
|
}
|
65
|
-
}
|
66
|
-
"match": "(?x) (?: \\b(default)\\b | \\b([a-zA-Z_$][a-zA-Z_$0-9]*)\\b) \\s* (\\b as \\b) \\s* (?: (\\b default \\b | \\*) | \\b([a-zA-Z_$][a-zA-Z_$0-9]*)\\b)"
|
65
|
+
}
|
67
66
|
},
|
68
67
|
{
|
69
68
|
"match": ",",
|
@@ -73,13 +72,13 @@
|
|
73
72
|
"include": "#comments"
|
74
73
|
},
|
75
74
|
{
|
76
|
-
"match": "\\b([a-zA-Z_$][
|
75
|
+
"match": "\\b([a-zA-Z_$][\\w$]*)\\b",
|
77
76
|
"name": "variable.other.module.js"
|
78
77
|
}
|
79
78
|
]
|
80
79
|
},
|
81
80
|
{
|
82
|
-
"
|
81
|
+
"match": "(?x)\n(?: \\b(default)\\b | (\\*) | \\b([a-zA-Z_$][\\w$]*)\\b)\n\\s*\n(\\b as \\b)\n\\s*\n(?: (\\b default \\b | \\*) | \\b([a-zA-Z_$][\\w$]*)\\b)",
|
83
82
|
"captures": {
|
84
83
|
"1": {
|
85
84
|
"name": "variable.language.default.js"
|
@@ -99,8 +98,7 @@
|
|
99
98
|
"6": {
|
100
99
|
"name": "variable.other.module-alias.js"
|
101
100
|
}
|
102
|
-
}
|
103
|
-
"match": "(?x) (?: \\b(default)\\b | (\\*) | \\b([a-zA-Z_$][a-zA-Z_$0-9]*)\\b) \\s* (\\b as \\b) \\s* (?: (\\b default \\b | \\*) | \\b([a-zA-Z_$][a-zA-Z_$0-9]*)\\b)"
|
101
|
+
}
|
104
102
|
},
|
105
103
|
{
|
106
104
|
"match": "\\*",
|
@@ -121,20 +119,17 @@
|
|
121
119
|
"name": "keyword.control.js"
|
122
120
|
},
|
123
121
|
{
|
124
|
-
"match": "\\b([a-zA-Z_$][
|
122
|
+
"match": "\\b([a-zA-Z_$][\\w$]*)\\b(?=.*\\bfrom\\b)",
|
125
123
|
"name": "variable.other.module.js"
|
126
124
|
},
|
127
125
|
{
|
128
126
|
"match": ",",
|
129
127
|
"name": "meta.delimiter.object.comma.js"
|
130
128
|
}
|
131
|
-
]
|
132
|
-
"end": "(?=;|$)",
|
133
|
-
"name": "meta.import.js"
|
129
|
+
]
|
134
130
|
},
|
135
131
|
{
|
136
|
-
"
|
137
|
-
"match": "(?x) \\b(export)\\b \\s* \\b(default)\\b (?:\\s*) \\b((?!\\bfunction\\b|\\bclass\\b|\\blet\\b|\\bvar\\b|\\bconst\\b)[a-zA-Z_$][a-zA-Z_$0-9]*)?\\b",
|
132
|
+
"match": "(?x)\n\\b(export)\\b\\s*\n\\b(default)\\b\\s*\n\\b((?!\\b(?:function|class|let|var|const)\\b)[a-zA-Z_$][\\w$]*)?\\b",
|
138
133
|
"captures": {
|
139
134
|
"0": {
|
140
135
|
"name": "meta.export.js"
|
@@ -151,19 +146,19 @@
|
|
151
146
|
}
|
152
147
|
},
|
153
148
|
{
|
154
|
-
"comment": "ES6 export, re-export: `export {member as alias, [...]} [from ...]`",
|
155
149
|
"begin": "(?<!\\.)\\b(export)(?!\\s*:)\\b",
|
156
150
|
"beginCaptures": {
|
157
151
|
"1": {
|
158
152
|
"name": "keyword.control.js"
|
159
153
|
}
|
160
154
|
},
|
155
|
+
"end": "(?=;|\\bfunction\\b|\\bclass\\b|\\blet\\b|\\bvar\\b|\\bconst\\b|$)",
|
156
|
+
"name": "meta.export.js",
|
161
157
|
"patterns": [
|
162
158
|
{
|
163
159
|
"include": "#numbers"
|
164
160
|
},
|
165
161
|
{
|
166
|
-
"comment": "`{ member1 , member2 as alias2 , [...] }` inside re-export",
|
167
162
|
"begin": "\\{(?=.*\\bfrom\\b)",
|
168
163
|
"beginCaptures": {
|
169
164
|
"0": {
|
@@ -178,7 +173,7 @@
|
|
178
173
|
},
|
179
174
|
"patterns": [
|
180
175
|
{
|
181
|
-
"
|
176
|
+
"match": "(?x)\n(?: \\b(default)\\b | \\b([a-zA-Z_$][\\w$]*)\\b)\n\\s*\n(\\b as \\b)\n\\s*\n(?: \\b(default)\\b | (\\*) | \\b([a-zA-Z_$][\\w$]*)\\b)",
|
182
177
|
"captures": {
|
183
178
|
"1": {
|
184
179
|
"name": "variable.language.default.js"
|
@@ -198,8 +193,7 @@
|
|
198
193
|
"6": {
|
199
194
|
"name": "variable.other.module-alias.js"
|
200
195
|
}
|
201
|
-
}
|
202
|
-
"match": "(?x) (?: \\b(default)\\b | \\b([a-zA-Z_$][a-zA-Z_$0-9]*)\\b) \\s* (\\b as \\b) \\s* (?: \\b(default)\\b | (\\*) | \\b([a-zA-Z_$][a-zA-Z_$0-9]*)\\b)"
|
196
|
+
}
|
203
197
|
},
|
204
198
|
{
|
205
199
|
"match": ",",
|
@@ -209,13 +203,12 @@
|
|
209
203
|
"include": "#comments"
|
210
204
|
},
|
211
205
|
{
|
212
|
-
"match": "\\b([a-zA-Z_$][
|
206
|
+
"match": "\\b([a-zA-Z_$][\\w$]*)\\b",
|
213
207
|
"name": "variable.other.module.js"
|
214
208
|
}
|
215
209
|
]
|
216
210
|
},
|
217
211
|
{
|
218
|
-
"comment": "{ member1 , member2 as alias2 , [...] }",
|
219
212
|
"begin": "(?![a-zA-Z_$0-9])\\{",
|
220
213
|
"beginCaptures": {
|
221
214
|
"0": {
|
@@ -230,7 +223,6 @@
|
|
230
223
|
},
|
231
224
|
"patterns": [
|
232
225
|
{
|
233
|
-
"comment": "name as (default|alias)",
|
234
226
|
"captures": {
|
235
227
|
"1": {
|
236
228
|
"name": "invalid.illegal.js"
|
@@ -251,7 +243,7 @@
|
|
251
243
|
"name": "variable.other.module-alias.js"
|
252
244
|
}
|
253
245
|
},
|
254
|
-
"match": "(?x)
|
246
|
+
"match": "(?x)\n(?: \\b(default)\\b | \\b([a-zA-Z_$][\\w$]*)\\b)\n\\s*\n(\\b as \\b)\n\\s*\n(?: \\b(default)\\b | (\\*) | \\b([a-zA-Z_$][\\w$]*)\\b)"
|
255
247
|
},
|
256
248
|
{
|
257
249
|
"include": "#comments"
|
@@ -261,7 +253,7 @@
|
|
261
253
|
"name": "meta.delimiter.object.comma.js"
|
262
254
|
},
|
263
255
|
{
|
264
|
-
"match": "\\b([a-zA-Z_$][
|
256
|
+
"match": "\\b([a-zA-Z_$][\\w$]*)\\b",
|
265
257
|
"name": "variable.other.module.js"
|
266
258
|
}
|
267
259
|
]
|
@@ -285,7 +277,7 @@
|
|
285
277
|
"name": "keyword.control.js"
|
286
278
|
},
|
287
279
|
{
|
288
|
-
"match": "\\b([a-zA-Z_$][
|
280
|
+
"match": "\\b([a-zA-Z_$][\\w$]*)\\b",
|
289
281
|
"name": "variable.other.module.js"
|
290
282
|
},
|
291
283
|
{
|
@@ -295,23 +287,14 @@
|
|
295
287
|
{
|
296
288
|
"include": "#operators"
|
297
289
|
}
|
298
|
-
]
|
299
|
-
"end": "(?=;|\\bfunction\\b|\\bclass\\b|\\blet\\b|\\bvar\\b|\\bconst\\b|$)",
|
300
|
-
"name": "meta.export.js"
|
290
|
+
]
|
301
291
|
},
|
302
292
|
{
|
303
|
-
"match": "(?<!\\.)\\b(super|this|arguments)(?!\\s
|
304
|
-
"
|
305
|
-
"1": {
|
306
|
-
"name": "variable.language.js"
|
307
|
-
},
|
308
|
-
"2": {
|
309
|
-
"name": "variable.language.js"
|
310
|
-
}
|
311
|
-
}
|
293
|
+
"match": "(?<!\\.)\\b(?<!\\$)(super|this|arguments)(?!\\s*:|\\$)\\b",
|
294
|
+
"name": "variable.language.js"
|
312
295
|
},
|
313
296
|
{
|
314
|
-
"begin": "(?=(\\basync\\b\\s*)?\\bfunction\\b)",
|
297
|
+
"begin": "(?=(\\basync\\b\\s*)?\\bfunction\\b(?!\\s*:))",
|
315
298
|
"end": "(?<=})",
|
316
299
|
"patterns": [
|
317
300
|
{
|
@@ -456,7 +439,7 @@
|
|
456
439
|
]
|
457
440
|
},
|
458
441
|
{
|
459
|
-
"begin": "(?=\\b
|
442
|
+
"begin": "(?=\\bconstructor\\b\\s*)",
|
460
443
|
"end": "(?<=})",
|
461
444
|
"patterns": [
|
462
445
|
{
|
@@ -567,7 +550,7 @@
|
|
567
550
|
},
|
568
551
|
{
|
569
552
|
"begin": "(?x)\n(?=\n \\b[a-zA-Z_$][\\w$]*\n \\s*:\\s*\n ((\\(([^\\(\\)]*)?\\))|[\\w$]+)\n \\s*=>\n)",
|
570
|
-
"end": "(?x)\n(?<=})|\n((?!\n \\s*{|\n \\G[\\w$]
|
553
|
+
"end": "(?x)\n(?<=})|\n((?!\n \\s*{|\n \\G[\\w$]+\\s*:|\n \\s*/\\*|\\s*//\n)(?=\\s*\\S))",
|
571
554
|
"patterns": [
|
572
555
|
{
|
573
556
|
"include": "#comments"
|
@@ -688,16 +671,22 @@
|
|
688
671
|
"name": "meta.class.js"
|
689
672
|
},
|
690
673
|
{
|
674
|
+
"match": "(new)\\s+([\\w$]+[\\w.$]*)",
|
675
|
+
"name": "meta.class.instance.constructor.js",
|
691
676
|
"captures": {
|
692
677
|
"1": {
|
693
678
|
"name": "keyword.operator.new.js"
|
694
679
|
},
|
695
680
|
"2": {
|
696
|
-
"name": "entity.name.type.instance.js"
|
681
|
+
"name": "entity.name.type.instance.js",
|
682
|
+
"patterns": [
|
683
|
+
{
|
684
|
+
"match": "\\.",
|
685
|
+
"name": "meta.delimiter.property.period.js"
|
686
|
+
}
|
687
|
+
]
|
697
688
|
}
|
698
|
-
}
|
699
|
-
"match": "(new)\\s+(\\$?\\w+(?:\\.\\w*)?)",
|
700
|
-
"name": "meta.class.instance.constructor"
|
689
|
+
}
|
701
690
|
},
|
702
691
|
{
|
703
692
|
"begin": "(?<![\\w$])console(?![\\w$]|\\s*:)",
|
@@ -781,6 +770,7 @@
|
|
781
770
|
"include": "#comments"
|
782
771
|
},
|
783
772
|
{
|
773
|
+
"match": "(<!--|-->)",
|
784
774
|
"captures": {
|
785
775
|
"0": {
|
786
776
|
"name": "punctuation.definition.comment.html.js"
|
@@ -789,7 +779,6 @@
|
|
789
779
|
"name": "punctuation.definition.comment.html.js"
|
790
780
|
}
|
791
781
|
},
|
792
|
-
"match": "(<!--|-->)",
|
793
782
|
"name": "comment.block.html.js"
|
794
783
|
},
|
795
784
|
{
|
@@ -869,30 +858,23 @@
|
|
869
858
|
]
|
870
859
|
},
|
871
860
|
{
|
872
|
-
"match": "(?<!\\.)\\b(yield)(?!\\s*:)\\b(?:\\s*(\\*))
|
861
|
+
"match": "(?<!\\.)\\b(yield)(?!\\s*:)\\b(?:\\s*(\\*))?",
|
873
862
|
"captures": {
|
874
863
|
"1": {
|
875
864
|
"name": "keyword.control.js"
|
876
865
|
},
|
877
866
|
"2": {
|
878
867
|
"name": "storage.modifier.js"
|
879
|
-
},
|
880
|
-
"3": {
|
881
|
-
"name": "keyword.control.js"
|
882
|
-
},
|
883
|
-
"4": {
|
884
|
-
"name": "storage.modifier.js"
|
885
868
|
}
|
886
869
|
},
|
887
870
|
"name": "meta.control.yield.js"
|
888
871
|
},
|
889
872
|
{
|
890
|
-
"match": "(?<!\\.)\\b(await|break|
|
873
|
+
"match": "(?<!\\.)\\b(await|break|catch|continue|do|else|finally|for|if|import|package|return|throw|try|while|with)(?!\\s*:)\\b",
|
891
874
|
"name": "keyword.control.js"
|
892
875
|
},
|
893
876
|
{
|
894
|
-
"
|
895
|
-
"name": "keyword.control.js"
|
877
|
+
"include": "#switch_statement"
|
896
878
|
},
|
897
879
|
{
|
898
880
|
"match": "(?<!\\.)\\b(delete|in|of|instanceof|new|typeof|void)(?!\\s*:)\\b",
|
@@ -903,79 +885,64 @@
|
|
903
885
|
"name": "keyword.operator.spread.js"
|
904
886
|
},
|
905
887
|
{
|
906
|
-
"match": "(?<!\\.)\\b(true|false)(?!\\s*:)\\b
|
907
|
-
"
|
908
|
-
"1": {
|
909
|
-
"name": "constant.language.boolean.$1.js"
|
910
|
-
},
|
911
|
-
"2": {
|
912
|
-
"name": "constant.language.boolean.$2.js"
|
913
|
-
}
|
914
|
-
}
|
888
|
+
"match": "(?<!\\.)\\b(true|false)(?!\\s*:)\\b",
|
889
|
+
"name": "constant.language.boolean.$1.js"
|
915
890
|
},
|
916
891
|
{
|
917
|
-
"match": "(?<!\\.)\\b(null)(?!\\s*:)\\b
|
918
|
-
"
|
919
|
-
"1": {
|
920
|
-
"name": "constant.language.null.js"
|
921
|
-
},
|
922
|
-
"2": {
|
923
|
-
"name": "constant.language.null.js"
|
924
|
-
}
|
925
|
-
}
|
892
|
+
"match": "(?<!\\.)\\b(null)(?!\\s*:)\\b",
|
893
|
+
"name": "constant.language.null.js"
|
926
894
|
},
|
927
895
|
{
|
928
|
-
"match": "(?<!\\.)\\b(debugger)(?!\\s*:)\\b
|
929
|
-
"
|
930
|
-
"1": {
|
931
|
-
"name": "keyword.other.js"
|
932
|
-
},
|
933
|
-
"2": {
|
934
|
-
"name": "keyword.other.js"
|
935
|
-
}
|
936
|
-
}
|
896
|
+
"match": "(?<!\\.)\\b(debugger)(?!\\s*:)\\b",
|
897
|
+
"name": "keyword.other.debugger.js"
|
937
898
|
},
|
938
899
|
{
|
939
|
-
"match": "(?<!\\$)\\b(
|
900
|
+
"match": "(?x) (?<!\\$) \\b\n(Array|ArrayBuffer|Atomics|Boolean|DataView|Date|Error|EvalError|Float32Array|Float64Array|Function|Generator\n|GeneratorFunction|Int16Array|Int32Array|Int8Array|InternalError|Intl|JSON|Map|Number|Object|Promise|Proxy\n|RangeError|ReferenceError|Reflect|RegExp|Set|SharedArrayBuffer|SIMD|String|Symbol|SyntaxError|TypeError\n|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|URIError|WeakMap|WeakSet)\n\\b",
|
940
901
|
"name": "support.class.js"
|
941
902
|
},
|
942
903
|
{
|
943
|
-
"match": "(\\.)(
|
904
|
+
"match": "(?x) (\\.) \\s* (?:\n (constructor|length|prototype) |\n (EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\n)\\b",
|
944
905
|
"captures": {
|
945
906
|
"1": {
|
946
907
|
"name": "meta.delimiter.property.period.js"
|
947
908
|
},
|
948
909
|
"2": {
|
910
|
+
"name": "support.variable.property.js"
|
911
|
+
},
|
912
|
+
"3": {
|
949
913
|
"name": "support.constant.js"
|
950
914
|
}
|
951
915
|
}
|
952
916
|
},
|
953
917
|
{
|
954
|
-
"match": "(
|
918
|
+
"match": "(?x) (?<!\\$) \\b (?:\n (document|event|navigator|performance|screen|window)\n |\n (AnalyserNode|ArrayBufferView|Attr|AudioBuffer|AudioBufferSourceNode|AudioContext|AudioDestinationNode|AudioListener\n |AudioNode|AudioParam|BatteryManager|BeforeUnloadEvent|BiquadFilterNode|Blob|BufferSource|ByteString|CSS|CSSConditionRule\n |CSSCounterStyleRule|CSSGroupingRule|CSSMatrix|CSSMediaRule|CSSPageRule|CSSPrimitiveValue|CSSRule|CSSRuleList|CSSStyleDeclaration\n |CSSStyleRule|CSSStyleSheet|CSSSupportsRule|CSSValue|CSSValueList|CanvasGradient|CanvasImageSource|CanvasPattern\n |CanvasRenderingContext2D|ChannelMergerNode|ChannelSplitterNode|CharacterData|ChromeWorker|CloseEvent|Comment|CompositionEvent\n |Console|ConvolverNode|Coordinates|Credential|CredentialsContainer|Crypto|CryptoKey|CustomEvent|DOMError|DOMException\n |DOMHighResTimeStamp|DOMImplementation|DOMString|DOMStringList|DOMStringMap|DOMTimeStamp|DOMTokenList|DataTransfer\n |DataTransferItem|DataTransferItemList|DedicatedWorkerGlobalScope|DelayNode|DeviceProximityEvent|DirectoryEntry\n |DirectoryEntrySync|DirectoryReader|DirectoryReaderSync|Document|DocumentFragment|DocumentTouch|DocumentType|DragEvent\n |DynamicsCompressorNode|Element|Entry|EntrySync|ErrorEvent|Event|EventListener|EventSource|EventTarget|FederatedCredential\n |FetchEvent|File|FileEntry|FileEntrySync|FileException|FileList|FileReader|FileReaderSync|FileSystem|FileSystemSync\n |FontFace|FormData|GainNode|Gamepad|GamepadButton|GamepadEvent|Geolocation|GlobalEventHandlers|HTMLAnchorElement\n |HTMLAreaElement|HTMLAudioElement|HTMLBRElement|HTMLBaseElement|HTMLBodyElement|HTMLButtonElement|HTMLCanvasElement\n |HTMLCollection|HTMLContentElement|HTMLDListElement|HTMLDataElement|HTMLDataListElement|HTMLDialogElement|HTMLDivElement\n |HTMLDocument|HTMLElement|HTMLEmbedElement|HTMLFieldSetElement|HTMLFontElement|HTMLFormControlsCollection|HTMLFormElement\n |HTMLHRElement|HTMLHeadElement|HTMLHeadingElement|HTMLHtmlElement|HTMLIFrameElement|HTMLImageElement|HTMLInputElement\n |HTMLKeygenElement|HTMLLIElement|HTMLLabelElement|HTMLLegendElement|HTMLLinkElement|HTMLMapElement|HTMLMediaElement\n |HTMLMetaElement|HTMLMeterElement|HTMLModElement|HTMLOListElement|HTMLObjectElement|HTMLOptGroupElement|HTMLOptionElement\n |HTMLOptionsCollection|HTMLOutputElement|HTMLParagraphElement|HTMLParamElement|HTMLPreElement|HTMLProgressElement\n |HTMLQuoteElement|HTMLScriptElement|HTMLSelectElement|HTMLShadowElement|HTMLSourceElement|HTMLSpanElement|HTMLStyleElement\n |HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableColElement|HTMLTableDataCellElement|HTMLTableElement|HTMLTableHeaderCellElement\n |HTMLTableRowElement|HTMLTableSectionElement|HTMLTextAreaElement|HTMLTimeElement|HTMLTitleElement|HTMLTrackElement\n |HTMLUListElement|HTMLUnknownElement|HTMLVideoElement|HashChangeEvent|History|IDBCursor|IDBCursorWithValue|IDBDatabase\n |IDBEnvironment|IDBFactory|IDBIndex|IDBKeyRange|IDBMutableFile|IDBObjectStore|IDBOpenDBRequest|IDBRequest|IDBTransaction\n |IDBVersionChangeEvent|IIRFilterNode|IdentityManager|ImageBitmap|ImageBitmapFactories|ImageData|Index|InputDeviceCapabilities\n |InputEvent|InstallEvent|InstallTrigger|KeyboardEvent|LinkStyle|LocalFileSystem|LocalFileSystemSync|Location|MIDIAccess\n |MIDIConnectionEvent|MIDIInput|MIDIInputMap|MIDIOutputMap|MediaElementAudioSourceNode|MediaError|MediaKeyMessageEvent\n |MediaKeySession|MediaKeyStatusMap|MediaKeySystemAccess|MediaKeySystemConfiguration|MediaKeys|MediaRecorder|MediaStream\n |MediaStreamAudioDestinationNode|MediaStreamAudioSourceNode|MessageChannel|MessageEvent|MessagePort|MouseEvent\n |MutationObserver|MutationRecord|NamedNodeMap|Navigator|NavigatorConcurrentHardware|NavigatorGeolocation|NavigatorID\n |NavigatorLanguage|NavigatorOnLine|Node|NodeFilter|NodeIterator|NodeList|NonDocumentTypeChildNode|Notification\n |OfflineAudioCompletionEvent|OfflineAudioContext|OscillatorNode|PageTransitionEvent|PannerNode|ParentNode|PasswordCredential\n |Path2D|PaymentAddress|PaymentRequest|PaymentResponse|Performance|PerformanceEntry|PerformanceFrameTiming|PerformanceMark\n |PerformanceMeasure|PerformanceNavigation|PerformanceNavigationTiming|PerformanceObserver|PerformanceObserverEntryList\n |PerformanceResourceTiming|PerformanceTiming|PeriodicSyncEvent|PeriodicWave|Plugin|Point|PointerEvent|PopStateEvent\n |PortCollection|Position|PositionError|PositionOptions|PresentationConnectionClosedEvent|PresentationConnectionList\n |PresentationReceiver|ProcessingInstruction|ProgressEvent|PromiseRejectionEvent|PushEvent|PushRegistrationManager\n |RTCCertificate|RTCConfiguration|RTCPeerConnection|RTCSessionDescriptionCallback|RTCStatsReport|RadioNodeList|RandomSource\n |Range|ReadableByteStream|RenderingContext|SVGAElement|SVGAngle|SVGAnimateColorElement|SVGAnimateElement|SVGAnimateMotionElement\n |SVGAnimateTransformElement|SVGAnimatedAngle|SVGAnimatedBoolean|SVGAnimatedEnumeration|SVGAnimatedInteger|SVGAnimatedLength\n |SVGAnimatedLengthList|SVGAnimatedNumber|SVGAnimatedNumberList|SVGAnimatedPoints|SVGAnimatedPreserveAspectRatio\n |SVGAnimatedRect|SVGAnimatedString|SVGAnimatedTransformList|SVGAnimationElement|SVGCircleElement|SVGClipPathElement\n |SVGCursorElement|SVGDefsElement|SVGDescElement|SVGElement|SVGEllipseElement|SVGEvent|SVGFilterElement|SVGFontElement\n |SVGFontFaceElement|SVGFontFaceFormatElement|SVGFontFaceNameElement|SVGFontFaceSrcElement|SVGFontFaceUriElement\n |SVGForeignObjectElement|SVGGElement|SVGGlyphElement|SVGGradientElement|SVGHKernElement|SVGImageElement|SVGLength\n |SVGLengthList|SVGLineElement|SVGLinearGradientElement|SVGMPathElement|SVGMaskElement|SVGMatrix|SVGMissingGlyphElement\n |SVGNumber|SVGNumberList|SVGPathElement|SVGPatternElement|SVGPoint|SVGPolygonElement|SVGPolylineElement|SVGPreserveAspectRatio\n |SVGRadialGradientElement|SVGRect|SVGRectElement|SVGSVGElement|SVGScriptElement|SVGSetElement|SVGStopElement|SVGStringList\n |SVGStylable|SVGStyleElement|SVGSwitchElement|SVGSymbolElement|SVGTRefElement|SVGTSpanElement|SVGTests|SVGTextElement\n |SVGTextPositioningElement|SVGTitleElement|SVGTransform|SVGTransformList|SVGTransformable|SVGUseElement|SVGVKernElement\n |SVGViewElement|ServiceWorker|ServiceWorkerContainer|ServiceWorkerGlobalScope|ServiceWorkerRegistration|ServiceWorkerState\n |ShadowRoot|SharedWorker|SharedWorkerGlobalScope|SourceBufferList|StereoPannerNode|Storage|StorageEvent|StyleSheet\n |StyleSheetList|SubtleCrypto|SyncEvent|Text|TextMetrics|TimeEvent|TimeRanges|Touch|TouchEvent|TouchList|Transferable\n |TreeWalker|UIEvent|USVString|VRDisplayCapabilities|ValidityState|WaveShaperNode|WebGL|WebGLActiveInfo|WebGLBuffer\n |WebGLContextEvent|WebGLFramebuffer|WebGLProgram|WebGLRenderbuffer|WebGLRenderingContext|WebGLShader|WebGLShaderPrecisionFormat\n |WebGLTexture|WebGLTimerQueryEXT|WebGLTransformFeedback|WebGLUniformLocation|WebGLVertexArrayObject|WebGLVertexArrayObjectOES\n |WebSocket|WebSockets|WebVTT|WheelEvent|Window|WindowBase64|WindowEventHandlers|WindowTimers|Worker|WorkerGlobalScope\n |WorkerLocation|WorkerNavigator|XMLHttpRequest|XMLHttpRequestEventTarget|XMLSerializer|XPathExpression|XPathResult\n |XSLTProcessor)\n)\\b",
|
955
919
|
"captures": {
|
956
920
|
"1": {
|
957
|
-
"name": "
|
921
|
+
"name": "support.variable.dom.js"
|
958
922
|
},
|
959
923
|
"2": {
|
960
|
-
"name": "support.
|
924
|
+
"name": "support.class.dom.js"
|
961
925
|
}
|
962
926
|
}
|
963
927
|
},
|
964
928
|
{
|
965
|
-
"match": "\\
|
966
|
-
"name": "support.constant.dom.js"
|
967
|
-
},
|
968
|
-
{
|
969
|
-
"match": "(?<!\\.)\\b(module|exports|__filename|__dirname|global|process)(?!\\s*:)\\b|(?<=\\?)(?:\\s*)(module|exports|__filename|__dirname|global|process)(?=\\s*:)",
|
929
|
+
"match": "(?x) (\\.) \\s*\n(?:\n (ATTRIBUTE_NODE|CDATA_SECTION_NODE|COMMENT_NODE|DOCUMENT_FRAGMENT_NODE|DOCUMENT_NODE|DOCUMENT_TYPE_NODE\n |DOMSTRING_SIZE_ERR|ELEMENT_NODE|ENTITY_NODE|ENTITY_REFERENCE_NODE|HIERARCHY_REQUEST_ERR|INDEX_SIZE_ERR\n |INUSE_ATTRIBUTE_ERR|INVALID_CHARACTER_ERR|NO_DATA_ALLOWED_ERR|NO_MODIFICATION_ALLOWED_ERR|NOT_FOUND_ERR\n |NOT_SUPPORTED_ERR|NOTATION_NODE|PROCESSING_INSTRUCTION_NODE|TEXT_NODE|WRONG_DOCUMENT_ERR)\n |\n (_content|[xyz]|abbr|above|accept|acceptCharset|accessKey|action|align|[av]Link(?:color)?|all|alt|anchors|appCodeName\n |appCore|applets|appMinorVersion|appName|appVersion|archive|areas|arguments|attributes|availHeight|availLeft|availTop\n |availWidth|axis|background|backgroundColor|backgroundImage|below|bgColor|body|border|borderBottomWidth|borderColor\n |borderLeftWidth|borderRightWidth|borderStyle|borderTopWidth|borderWidth|bottom|bufferDepth|callee|caller|caption\n |cellPadding|cells|cellSpacing|ch|characterSet|charset|checked|childNodes|chOff|cite|classes|className|clear\n |clientInformation|clip|clipBoardData|closed|code|codeBase|codeType|color|colorDepth|cols|colSpan|compact|complete\n |components|content|controllers|cookie|cookieEnabled|cords|cpuClass|crypto|current|data|dateTime|declare|defaultCharset\n |defaultChecked|defaultSelected|defaultStatus|defaultValue|defaultView|defer|description|dialogArguments|dialogHeight\n |dialogLeft|dialogTop|dialogWidth|dir|directories|disabled|display|docmain|doctype|documentElement|elements|embeds\n |enabledPlugin|encoding|enctype|entities|event|expando|external|face|fgColor|filename|firstChild|fontFamily|fontSize\n |fontWeight|form|formName|forms|frame|frameBorder|frameElement|frames|hasFocus|hash|headers|height|history|host\n |hostname|href|hreflang|hspace|htmlFor|httpEquiv|id|ids|ignoreCase|images|implementation|index|innerHeight|innerWidth\n |input|isMap|label|lang|language|lastChild|lastIndex|lastMatch|lastModified|lastParen|layer[sXY]|left|leftContext\n |lineHeight|link|linkColor|links|listStyleType|localName|location|locationbar|longDesc|lowsrc|lowSrc|marginBottom\n |marginHeight|marginLeft|marginRight|marginTop|marginWidth|maxLength|media|menubar|method|mimeTypes|multiline|multiple\n |name|nameProp|namespaces|namespaceURI|next|nextSibling|nodeName|nodeType|nodeValue|noHref|noResize|noShade|notationName\n |notations|noWrap|object|offscreenBuffering|onLine|onreadystatechange|opener|opsProfile|options|oscpu|outerHeight\n |outerWidth|ownerDocument|paddingBottom|paddingLeft|paddingRight|paddingTop|page[XY]|page[XY]Offset|parent|parentLayer\n |parentNode|parentWindow|pathname|personalbar|pixelDepth|pkcs11|platform|plugins|port|prefix|previous|previousDibling\n |product|productSub|profile|profileend|prompt|prompter|protocol|publicId|readOnly|readyState|referrer|rel|responseText\n |responseXML|rev|right|rightContext|rowIndex|rows|rowSpan|rules|scheme|scope|screen[XY]|screenLeft|screenTop|scripts\n |scrollbars|scrolling|sectionRowIndex|security|securityPolicy|selected|selectedIndex|selection|self|shape|siblingAbove\n |siblingBelow|size|source|specified|standby|start|status|statusbar|statusText|style|styleSheets|suffixes|summary\n |systemId|systemLanguage|tagName|tags|target|tBodies|text|textAlign|textDecoration|textIndent|textTransform|tFoot|tHead\n |title|toolbar|top|type|undefined|uniqueID|updateInterval|URL|URLUnencoded|useMap|userAgent|userLanguage|userProfile\n |vAlign|value|valueType|vendor|vendorSub|version|visibility|vspace|whiteSpace|width|X[MS]LDocument|zIndex)\n)\n\\b",
|
970
930
|
"captures": {
|
971
931
|
"1": {
|
972
|
-
"name": "
|
932
|
+
"name": "meta.delimiter.property.period.js"
|
973
933
|
},
|
974
934
|
"2": {
|
975
|
-
"name": "support.
|
935
|
+
"name": "support.constant.dom.js"
|
936
|
+
},
|
937
|
+
"3": {
|
938
|
+
"name": "support.variable.property.dom.js"
|
976
939
|
}
|
977
940
|
}
|
978
941
|
},
|
942
|
+
{
|
943
|
+
"match": "(?<!\\.)\\b(module|exports|__filename|__dirname|global|process)(?!\\s*:)\\b",
|
944
|
+
"name": "support.variable.js"
|
945
|
+
},
|
979
946
|
{
|
980
947
|
"match": "\\b(Infinity|NaN|undefined)\\b",
|
981
948
|
"name": "constant.language.js"
|
@@ -1000,6 +967,28 @@
|
|
1000
967
|
}
|
1001
968
|
]
|
1002
969
|
},
|
970
|
+
{
|
971
|
+
"begin": "\\?",
|
972
|
+
"beginCaptures": {
|
973
|
+
"0": {
|
974
|
+
"name": "keyword.operator.ternary.js"
|
975
|
+
}
|
976
|
+
},
|
977
|
+
"end": ":",
|
978
|
+
"endCaptures": {
|
979
|
+
"0": {
|
980
|
+
"name": "keyword.operator.ternary.js"
|
981
|
+
}
|
982
|
+
},
|
983
|
+
"patterns": [
|
984
|
+
{
|
985
|
+
"include": "#prevent_object_keys_matching"
|
986
|
+
},
|
987
|
+
{
|
988
|
+
"include": "$self"
|
989
|
+
}
|
990
|
+
]
|
991
|
+
},
|
1003
992
|
{
|
1004
993
|
"include": "#operators"
|
1005
994
|
},
|
@@ -1019,15 +1008,8 @@
|
|
1019
1008
|
"include": "#properties"
|
1020
1009
|
},
|
1021
1010
|
{
|
1022
|
-
"match": "(
|
1023
|
-
"
|
1024
|
-
"1": {
|
1025
|
-
"name": "constant.other.js"
|
1026
|
-
},
|
1027
|
-
"2": {
|
1028
|
-
"name": "constant.other.js"
|
1029
|
-
}
|
1030
|
-
}
|
1011
|
+
"match": "((?<!\\.|[\\w$])(?![_\\$]+[^A-Z0-9_$])\\$*\\b(?:[A-Z_$][A-Z0-9_$]*)\\b\\$*)(?!\\s*:)",
|
1012
|
+
"name": "constant.other.js"
|
1031
1013
|
},
|
1032
1014
|
{
|
1033
1015
|
"match": "(?<!\\$)\\b[0-9]+[\\w$]*",
|
@@ -1046,6 +1028,7 @@
|
|
1046
1028
|
"name": "meta.delimiter.method.period.js"
|
1047
1029
|
},
|
1048
1030
|
{
|
1031
|
+
"match": "({)(})",
|
1049
1032
|
"captures": {
|
1050
1033
|
"1": {
|
1051
1034
|
"name": "punctuation.section.scope.begin.js"
|
@@ -1053,9 +1036,7 @@
|
|
1053
1036
|
"2": {
|
1054
1037
|
"name": "punctuation.section.scope.end.js"
|
1055
1038
|
}
|
1056
|
-
}
|
1057
|
-
"comment": "Allows the special return snippet to fire.",
|
1058
|
-
"match": "({)(})"
|
1039
|
+
}
|
1059
1040
|
},
|
1060
1041
|
{
|
1061
1042
|
"begin": "{",
|
@@ -1170,11 +1151,7 @@
|
|
1170
1151
|
"name": "keyword.operator.bitwise.js"
|
1171
1152
|
},
|
1172
1153
|
{
|
1173
|
-
"match": "
|
1174
|
-
"name": "keyword.operator.js"
|
1175
|
-
},
|
1176
|
-
{
|
1177
|
-
"match": "=",
|
1154
|
+
"match": "=|:",
|
1178
1155
|
"name": "keyword.operator.assignment.js"
|
1179
1156
|
},
|
1180
1157
|
{
|
@@ -1209,8 +1186,7 @@
|
|
1209
1186
|
"name": "string.quoted.single.js",
|
1210
1187
|
"patterns": [
|
1211
1188
|
{
|
1212
|
-
"
|
1213
|
-
"name": "constant.character.escape.js"
|
1189
|
+
"include": "#string_escapes"
|
1214
1190
|
},
|
1215
1191
|
{
|
1216
1192
|
"match": "[^']*[^\\n\\r'\\\\]$",
|
@@ -1234,8 +1210,7 @@
|
|
1234
1210
|
"name": "string.quoted.double.js",
|
1235
1211
|
"patterns": [
|
1236
1212
|
{
|
1237
|
-
"
|
1238
|
-
"name": "constant.character.escape.js"
|
1213
|
+
"include": "#string_escapes"
|
1239
1214
|
},
|
1240
1215
|
{
|
1241
1216
|
"match": "[^\"]*[^\\n\\r\"\\\\]$",
|
@@ -1262,8 +1237,7 @@
|
|
1262
1237
|
"name": "string.quoted.template.html.js",
|
1263
1238
|
"patterns": [
|
1264
1239
|
{
|
1265
|
-
"
|
1266
|
-
"name": "constant.character.escape.js"
|
1240
|
+
"include": "#string_escapes"
|
1267
1241
|
},
|
1268
1242
|
{
|
1269
1243
|
"include": "#interpolated_js"
|
@@ -1292,8 +1266,7 @@
|
|
1292
1266
|
"name": "string.quoted.template.graphql.js",
|
1293
1267
|
"patterns": [
|
1294
1268
|
{
|
1295
|
-
"
|
1296
|
-
"name": "constant.character.escape.js"
|
1269
|
+
"include": "#string_escapes"
|
1297
1270
|
},
|
1298
1271
|
{
|
1299
1272
|
"include": "#interpolated_js"
|
@@ -1319,8 +1292,7 @@
|
|
1319
1292
|
"name": "string.quoted.template.js",
|
1320
1293
|
"patterns": [
|
1321
1294
|
{
|
1322
|
-
"
|
1323
|
-
"name": "constant.character.escape.js"
|
1295
|
+
"include": "#string_escapes"
|
1324
1296
|
},
|
1325
1297
|
{
|
1326
1298
|
"include": "#interpolated_js"
|
@@ -1329,6 +1301,38 @@
|
|
1329
1301
|
}
|
1330
1302
|
]
|
1331
1303
|
},
|
1304
|
+
"string_escapes": {
|
1305
|
+
"patterns": [
|
1306
|
+
{
|
1307
|
+
"match": "\\\\u(?![A-Fa-f0-9]{4}|{[A-Fa-f0-9]+})[^'\"]*",
|
1308
|
+
"name": "invalid.illegal.unicode-escape.js"
|
1309
|
+
},
|
1310
|
+
{
|
1311
|
+
"match": "\\\\u(?:[A-Fa-f0-9]{4}|({)([A-Fa-f0-9]+)(}))",
|
1312
|
+
"name": "constant.character.escape.js",
|
1313
|
+
"captures": {
|
1314
|
+
"1": {
|
1315
|
+
"name": "punctuation.definition.unicode-escape.begin.bracket.curly.js"
|
1316
|
+
},
|
1317
|
+
"2": {
|
1318
|
+
"patterns": [
|
1319
|
+
{
|
1320
|
+
"match": "[A-Fa-f\\d]{7,}|(?!10)[A-Fa-f\\d]{6}",
|
1321
|
+
"name": "invalid.illegal.unicode-escape.js"
|
1322
|
+
}
|
1323
|
+
]
|
1324
|
+
},
|
1325
|
+
"3": {
|
1326
|
+
"name": "punctuation.definition.unicode-escape.end.bracket.curly.js"
|
1327
|
+
}
|
1328
|
+
}
|
1329
|
+
},
|
1330
|
+
{
|
1331
|
+
"match": "\\\\(x\\h{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)",
|
1332
|
+
"name": "constant.character.escape.js"
|
1333
|
+
}
|
1334
|
+
]
|
1335
|
+
},
|
1332
1336
|
"function_params": {
|
1333
1337
|
"patterns": [
|
1334
1338
|
{
|
@@ -1491,11 +1495,11 @@
|
|
1491
1495
|
"name": "support.function.event-handler.js"
|
1492
1496
|
},
|
1493
1497
|
{
|
1494
|
-
"match": "(?x)\n\\b(shift|showModelessDialog|showModalDialog|showHelp|scroll|scrollX|scrollByPages|\nscrollByLines|scrollY|scrollTo|stop|strike|sizeToContent|sidebar|signText|sort|\nsup|sub|substr|substring|splice|split|send|set(Milliseconds|Seconds|Minutes|Hours|\nMonth|Year|FullYear|Date|UTC(Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)|\nTime|Hotkeys|Cursor|ZOptions|Active|Resizable|RequestHeader)|search|slice|\nsavePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|concat|\ncontextual|confirm|compile|clear|captureEvents|call|createStyleSheet|createPopup|\ncreateEventObject|to(GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)|\ntest|taint|taintEnabled|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift|\nuntaint|unwatch|updateCommands|join|javaEnabled|pop|push|plugins.refresh|paddings|parse|\nprint|prompt|preference|enableExternalCapture|
|
1498
|
+
"match": "(?x)\n\\b(shift|showModelessDialog|showModalDialog|showHelp|scroll|scrollX|scrollByPages|\nscrollByLines|scrollY|scrollTo|stop|strike|sizeToContent|sidebar|signText|sort|\nsup|sub|substr|substring|splice|split|send|set(Milliseconds|Seconds|Minutes|Hours|\nMonth|Year|FullYear|Date|UTC(Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)|\nTime|Hotkeys|Cursor|ZOptions|Active|Resizable|RequestHeader)|search|slice|\nsavePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|concat|\ncontextual|confirm|compile|clear|captureEvents|call|createStyleSheet|createPopup|\ncreateEventObject|to(GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)|\ntest|taint|taintEnabled|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift|\nuntaint|unwatch|updateCommands|join|javaEnabled|pop|push|plugins.refresh|paddings|parse|\nprint|prompt|preference|enableExternalCapture|exec|execScript|valueOf|UTC|find|file|\nfileModifiedDate|fileSize|fileCreatedDate|fileUpdatedDate|fixed|fontsize|fontcolor|\nforward|fromCharCode|watch|link|load|lastIndexOf|anchor|attachEvent|atob|apply|alert|\nabort|routeEvents|resize|resizeBy|resizeTo|recalc|returnValue|replace|reverse|reload|\nreleaseCapture|releaseEvents|go|get(Milliseconds|Seconds|Minutes|Hours|Month|Day|Year|FullYear|\nTime|Date|TimezoneOffset|UTC(Milliseconds|Seconds|Minutes|Hours|Day|Month|FullYear|Date)|\nAttention|Selection|ResponseHeader|AllResponseHeaders)|moveBy|moveBelow|moveTo|\nmoveToAbsolute|moveAbove|mergeAttributes|match|margins|btoa|big|bold|borderWidths|blink|back)\\b",
|
1495
1499
|
"name": "support.function.js"
|
1496
1500
|
},
|
1497
1501
|
{
|
1498
|
-
"match": "(?x)\n\\b(
|
1502
|
+
"match": "(?x)\n\\b(acceptNode|add|addEventListener|addTextTrack|adoptNode|after|animate|append|\nappendChild|appendData|before|blur|canPlayType|captureStream|\ncaretPositionFromPoint|caretRangeFromPoint|checkValidity|clear|click|\ncloneContents|cloneNode|cloneRange|close|closest|collapse|\ncompareBoundaryPoints|compareDocumentPosition|comparePoint|contains|\nconvertPointFromNode|convertQuadFromNode|convertRectFromNode|createAttribute|\ncreateAttributeNS|createCaption|createCDATASection|createComment|\ncreateContextualFragment|createDocument|createDocumentFragment|\ncreateDocumentType|createElement|createElementNS|createEntityReference|\ncreateEvent|createExpression|createHTMLDocument|createNodeIterator|\ncreateNSResolver|createProcessingInstruction|createRange|createShadowRoot|\ncreateTBody|createTextNode|createTFoot|createTHead|createTreeWalker|delete|\ndeleteCaption|deleteCell|deleteContents|deleteData|deleteRow|deleteTFoot|\ndeleteTHead|detach|disconnect|dispatchEvent|elementFromPoint|elementsFromPoint|\nenableStyleSheetsForSet|entries|evaluate|execCommand|exitFullscreen|\nexitPointerLock|expand|extractContents|fastSeek|firstChild|focus|forEach|get|\ngetAll|getAnimations|getAttribute|getAttributeNames|getAttributeNode|\ngetAttributeNodeNS|getAttributeNS|getBoundingClientRect|getBoxQuads|\ngetClientRects|getContext|getDestinationInsertionPoints|getElementById|\ngetElementsByClassName|getElementsByName|getElementsByTagName|\ngetElementsByTagNameNS|getItem|getNamedItem|getSelection|getStartDate|\ngetVideoPlaybackQuality|has|hasAttribute|hasAttributeNS|hasAttributes|\nhasChildNodes|hasFeature|hasFocus|importNode|initEvent|insertAdjacentElement|\ninsertAdjacentHTML|insertAdjacentText|insertBefore|insertCell|insertData|\ninsertNode|insertRow|intersectsNode|isDefaultNamespace|isEqualNode|\nisPointInRange|isSameNode|item|key|keys|lastChild|load|lookupNamespaceURI|\nlookupPrefix|matches|move|moveAttribute|moveAttributeNode|moveChild|\nmoveNamedItem|namedItem|nextNode|nextSibling|normalize|observe|open|\nparentNode|pause|play|postMessage|prepend|preventDefault|previousNode|\npreviousSibling|probablySupportsContext|queryCommandEnabled|\nqueryCommandIndeterm|queryCommandState|queryCommandSupported|queryCommandValue|\nquerySelector|querySelectorAll|registerContentHandler|registerElement|\nregisterProtocolHandler|releaseCapture|releaseEvents|remove|removeAttribute|\nremoveAttributeNode|removeAttributeNS|removeChild|removeEventListener|\nremoveItem|replace|replaceChild|replaceData|replaceWith|reportValidity|\nrequestFullscreen|requestPointerLock|reset|scroll|scrollBy|scrollIntoView|\nscrollTo|seekToNextFrame|select|selectNode|selectNodeContents|set|setAttribute|\nsetAttributeNode|setAttributeNodeNS|setAttributeNS|setCapture|\nsetCustomValidity|setEnd|setEndAfter|setEndBefore|setItem|setNamedItem|\nsetRangeText|setSelectionRange|setSinkId|setStart|setStartAfter|setStartBefore|\nslice|splitText|stepDown|stepUp|stopImmediatePropagation|stopPropagation|\nsubmit|substringData|supports|surroundContents|takeRecords|terminate|toBlob|\ntoDataURL|toggle|toString|values|write|writeln)\\b",
|
1499
1503
|
"name": "support.function.dom.js"
|
1500
1504
|
},
|
1501
1505
|
{
|
@@ -1663,11 +1667,11 @@
|
|
1663
1667
|
"docblock": {
|
1664
1668
|
"patterns": [
|
1665
1669
|
{
|
1666
|
-
"match": "(?<!\\w)
|
1670
|
+
"match": "(?x) (?<!\\w)@\n(abstract|access|alias|arg|argument|async|attribute|augments|author|beta|borrows|bubbes|callback|chainable|class\n|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc\n|description|dict|emits|enum|event|example|exports?|extends|extension|extension_for|extensionfor|external|file\n|fileoverview|final|fires|for|function|global|host|ignore|implements|inherit[Dd]oc|inner|instance|interface|kind\n|lends|license|listens|main|member|memberof|method|mixex|mixins?|module|name|namespace|nocollapse|nosideeffects\n|override|overview|package|param|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]\n|returns?|see|since|static|struct|submodule|summary|template|this|throws|todo|tutorial|type|typedef|unrestricted\n|uses|var|variation|version|virtual|writeOnce)\\b",
|
1667
1671
|
"name": "storage.type.class.jsdoc"
|
1668
1672
|
},
|
1669
1673
|
{
|
1670
|
-
"match": "({\\
|
1674
|
+
"match": "(?x)\n({(?:\\*|(?:\\?|\\!|\\.{3})?(?:\\([a-zA-Z_$][\\w$]*(?:[\\.|][a-zA-Z_$][\\w$]*)*\\)|[a-zA-Z_$][\\w$]*(?:[\\.|][a-zA-Z_$][\\w$]*)*)(?:\\[\\])?=?)})\n\\s+\n(\\[(?:[a-zA-Z_$]+(?:=[\\w][\\s\\w$]*)?)\\]|(?:[a-zA-Z_$][\\w$]*(?:[\\.|][a-zA-Z_$][\\w$]*)*))\n\\s+\n((?:(?!\\*\\/).)*)",
|
1671
1675
|
"captures": {
|
1672
1676
|
"0": {
|
1673
1677
|
"name": "other.meta.jsdoc"
|
@@ -1682,6 +1686,20 @@
|
|
1682
1686
|
"name": "other.description.jsdoc"
|
1683
1687
|
}
|
1684
1688
|
}
|
1689
|
+
},
|
1690
|
+
{
|
1691
|
+
"match": "(?x)\n(?:(?<=@returns)|(?<=@return))\n\\s+\n({(?:\\*|(?:\\?|\\!|\\.{3})?(?:\\([a-zA-Z_$][\\w$]*(?:[\\.|][a-zA-Z_$][\\w$]*)*\\)|[a-zA-Z_$][\\w$]*(?:[\\.|][a-zA-Z_$][\\w$]*)*)(?:\\[\\])?=?)})\n\\s+\n((?:(?!\\*\\/).)*)",
|
1692
|
+
"captures": {
|
1693
|
+
"0": {
|
1694
|
+
"name": "other.meta.jsdoc"
|
1695
|
+
},
|
1696
|
+
"1": {
|
1697
|
+
"name": "entity.name.type.instance.jsdoc"
|
1698
|
+
},
|
1699
|
+
"2": {
|
1700
|
+
"name": "other.description.jsdoc"
|
1701
|
+
}
|
1702
|
+
}
|
1685
1703
|
}
|
1686
1704
|
]
|
1687
1705
|
},
|
@@ -1689,27 +1707,37 @@
|
|
1689
1707
|
"patterns": [
|
1690
1708
|
{
|
1691
1709
|
"begin": "/\\*\\*(?!/)",
|
1692
|
-
"
|
1710
|
+
"beginCaptures": {
|
1693
1711
|
"0": {
|
1694
1712
|
"name": "punctuation.definition.comment.js"
|
1695
1713
|
}
|
1696
1714
|
},
|
1715
|
+
"end": "\\*/",
|
1716
|
+
"endCaptures": {
|
1717
|
+
"0": {
|
1718
|
+
"name": "punctuation.definition.comment.js"
|
1719
|
+
}
|
1720
|
+
},
|
1721
|
+
"name": "comment.block.documentation.js",
|
1697
1722
|
"patterns": [
|
1698
1723
|
{
|
1699
1724
|
"include": "#docblock"
|
1700
1725
|
}
|
1701
|
-
]
|
1702
|
-
"end": "\\*/",
|
1703
|
-
"name": "comment.block.documentation.js"
|
1726
|
+
]
|
1704
1727
|
},
|
1705
1728
|
{
|
1706
1729
|
"begin": "/\\*",
|
1707
|
-
"
|
1730
|
+
"beginCaptures": {
|
1708
1731
|
"0": {
|
1709
1732
|
"name": "punctuation.definition.comment.js"
|
1710
1733
|
}
|
1711
1734
|
},
|
1712
1735
|
"end": "\\*/",
|
1736
|
+
"endCaptures": {
|
1737
|
+
"0": {
|
1738
|
+
"name": "punctuation.definition.comment.js"
|
1739
|
+
}
|
1740
|
+
},
|
1713
1741
|
"name": "comment.block.js"
|
1714
1742
|
},
|
1715
1743
|
{
|
@@ -1734,6 +1762,109 @@
|
|
1734
1762
|
]
|
1735
1763
|
}
|
1736
1764
|
]
|
1765
|
+
},
|
1766
|
+
"switch_statement": {
|
1767
|
+
"patterns": [
|
1768
|
+
{
|
1769
|
+
"begin": "\\bswitch\\b",
|
1770
|
+
"beginCaptures": {
|
1771
|
+
"0": {
|
1772
|
+
"name": "keyword.control.switch.js"
|
1773
|
+
}
|
1774
|
+
},
|
1775
|
+
"end": "}",
|
1776
|
+
"endCaptures": {
|
1777
|
+
"0": {
|
1778
|
+
"name": "punctuation.definition.section.switch-block.end.bracket.curly.js"
|
1779
|
+
}
|
1780
|
+
},
|
1781
|
+
"name": "meta.switch-statement.js",
|
1782
|
+
"patterns": [
|
1783
|
+
{
|
1784
|
+
"begin": "\\(",
|
1785
|
+
"beginCaptures": {
|
1786
|
+
"0": {
|
1787
|
+
"name": "punctuation.definition.switch-expression.begin.bracket.round.js"
|
1788
|
+
}
|
1789
|
+
},
|
1790
|
+
"end": "\\)",
|
1791
|
+
"endCaptures": {
|
1792
|
+
"0": {
|
1793
|
+
"name": "punctuation.definition.switch-expression.end.bracket.round.js"
|
1794
|
+
}
|
1795
|
+
},
|
1796
|
+
"patterns": [
|
1797
|
+
{
|
1798
|
+
"include": "$self"
|
1799
|
+
}
|
1800
|
+
]
|
1801
|
+
},
|
1802
|
+
{
|
1803
|
+
"begin": "{",
|
1804
|
+
"beginCaptures": {
|
1805
|
+
"0": {
|
1806
|
+
"name": "punctuation.definition.section.switch-block.begin.bracket.curly.js"
|
1807
|
+
}
|
1808
|
+
},
|
1809
|
+
"end": "(?=})",
|
1810
|
+
"patterns": [
|
1811
|
+
{
|
1812
|
+
"begin": "\\bcase\\b",
|
1813
|
+
"beginCaptures": {
|
1814
|
+
"0": {
|
1815
|
+
"name": "keyword.control.case.js"
|
1816
|
+
}
|
1817
|
+
},
|
1818
|
+
"end": ":",
|
1819
|
+
"endCaptures": {
|
1820
|
+
"0": {
|
1821
|
+
"name": "punctuation.definition.section.case-statement.js"
|
1822
|
+
}
|
1823
|
+
},
|
1824
|
+
"patterns": [
|
1825
|
+
{
|
1826
|
+
"include": "#prevent_object_keys_matching"
|
1827
|
+
},
|
1828
|
+
{
|
1829
|
+
"include": "$self"
|
1830
|
+
}
|
1831
|
+
]
|
1832
|
+
},
|
1833
|
+
{
|
1834
|
+
"match": "(?:^\\s*)?\\b(default)\\b\\s*(:)",
|
1835
|
+
"captures": {
|
1836
|
+
"1": {
|
1837
|
+
"name": "keyword.control.default.js"
|
1838
|
+
},
|
1839
|
+
"2": {
|
1840
|
+
"name": "punctuation.definition.section.case-statement.js"
|
1841
|
+
}
|
1842
|
+
}
|
1843
|
+
},
|
1844
|
+
{
|
1845
|
+
"include": "$self"
|
1846
|
+
}
|
1847
|
+
]
|
1848
|
+
}
|
1849
|
+
]
|
1850
|
+
}
|
1851
|
+
]
|
1852
|
+
},
|
1853
|
+
"prevent_object_keys_matching": {
|
1854
|
+
"patterns": [
|
1855
|
+
{
|
1856
|
+
"match": "(\\w+)(?=\\s*:)",
|
1857
|
+
"captures": {
|
1858
|
+
"1": {
|
1859
|
+
"patterns": [
|
1860
|
+
{
|
1861
|
+
"include": "$self"
|
1862
|
+
}
|
1863
|
+
]
|
1864
|
+
}
|
1865
|
+
}
|
1866
|
+
}
|
1867
|
+
]
|
1737
1868
|
}
|
1738
1869
|
}
|
1739
1870
|
}
|