github-linguist 4.8.9 → 4.8.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/git-linguist +2 -2
- data/grammars/source.ats.json +58 -128
- data/grammars/source.autoit.json +158 -153
- data/grammars/source.awk.json +333 -383
- data/grammars/source.batchfile.json +194 -0
- data/grammars/source.c.platform.json +359 -22
- data/grammars/source.changelogs.rpm-spec.json +99 -0
- data/grammars/source.clojure.json +9 -3
- data/grammars/source.dockerfile.json +67 -78
- data/grammars/source.elm.json +20 -379
- data/grammars/source.emacs.lisp.json +656 -0
- data/grammars/source.gdscript.json +233 -228
- data/grammars/source.graphql.json +75 -10
- data/grammars/source.js.json +2 -2
- data/grammars/source.js.jsx.json +247 -839
- data/grammars/source.js.regexp.json +1 -1
- data/grammars/source.nginx.json +882 -768
- data/grammars/source.nsis.json +151 -143
- data/grammars/source.objc.json +3 -0
- data/grammars/source.objc.platform.json +174 -104
- data/grammars/source.puppet.json +429 -396
- data/grammars/source.pyjade.json +11 -0
- data/grammars/source.regexp.babel.json +1 -1
- data/grammars/source.rpm-spec.json +770 -0
- data/grammars/source.systemverilog.json +1110 -961
- data/grammars/source.ts.json +57 -57
- data/grammars/source.tsx.json +57 -57
- data/grammars/text.dart-analysis-output.json +67 -152
- data/grammars/text.error-list.json +54 -0
- data/grammars/text.find-refs.json +927 -0
- data/grammars/text.html.basic.json +1 -1
- data/grammars/text.html.mediawiki.elm-build-output.json +108 -0
- data/grammars/text.html.mediawiki.elm-documentation.json +22 -0
- data/grammars/text.html.vue.json +35 -0
- data/grammars/text.jade.json +34 -12
- data/grammars/text.roff.json +1 -1
- data/lib/linguist/heuristics.rb +16 -4
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +25 -5
- data/lib/linguist/samples.json +1367 -163
- data/lib/linguist/version.rb +1 -1
- metadata +10 -3
- data/grammars/source.dosbatch.json +0 -70
@@ -11,6 +11,18 @@
|
|
11
11
|
{
|
12
12
|
"include": "#comment"
|
13
13
|
},
|
14
|
+
{
|
15
|
+
"include": "#typeDef"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"include": "#typeDefImplements"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"include": "#unionOptions"
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"include": "#directive"
|
25
|
+
},
|
14
26
|
{
|
15
27
|
"name": "meta.fragment",
|
16
28
|
"comment": "a fragment definintion",
|
@@ -26,7 +38,7 @@
|
|
26
38
|
"name": "keyword.operator"
|
27
39
|
},
|
28
40
|
"4": {
|
29
|
-
"name": "support.
|
41
|
+
"name": "support.class"
|
30
42
|
}
|
31
43
|
}
|
32
44
|
},
|
@@ -71,9 +83,20 @@
|
|
71
83
|
}
|
72
84
|
]
|
73
85
|
},
|
74
|
-
"
|
75
|
-
"
|
76
|
-
"
|
86
|
+
"variableDefinition": {
|
87
|
+
"match": "(\\$[_A-Za-z][_0-9A-Za-z]*)\\:\\s*([_A-Za-z][_0-9A-Za-z]*)",
|
88
|
+
"captures": {
|
89
|
+
"1": {
|
90
|
+
"name": "constant.other.symbol"
|
91
|
+
},
|
92
|
+
"2": {
|
93
|
+
"name": "support.class"
|
94
|
+
}
|
95
|
+
}
|
96
|
+
},
|
97
|
+
"variableUsage": {
|
98
|
+
"match": "\\$[_A-Za-z][_0-9A-Za-z]*",
|
99
|
+
"name": "constant.other.symbol"
|
77
100
|
},
|
78
101
|
"boolean": {
|
79
102
|
"name": "constant.language.boolean",
|
@@ -85,15 +108,15 @@
|
|
85
108
|
},
|
86
109
|
"directive": {
|
87
110
|
"name": "storage.modifier",
|
88
|
-
"match": "@[
|
111
|
+
"match": "@[_A-Za-z][_0-9A-Za-z]+"
|
89
112
|
},
|
90
113
|
"argument": {
|
91
114
|
"name": "variable.parameter",
|
92
115
|
"match": "[_A-Za-z][_0-9A-Za-z]*:"
|
93
116
|
},
|
94
117
|
"enum": {
|
95
|
-
"
|
96
|
-
"
|
118
|
+
"match": "([A-Z][A-Z_]+)",
|
119
|
+
"name": "support.constant.enum"
|
97
120
|
},
|
98
121
|
"fragmentSpread": {
|
99
122
|
"match": "(\\.\\.\\.)\\s*([_A-Za-z][_0-9A-Za-z]*)\\s*(on\\s*)?([_A-Za-z][_0-9A-Za-z]*)?",
|
@@ -108,7 +131,7 @@
|
|
108
131
|
"name": "keyword.operator"
|
109
132
|
},
|
110
133
|
"4": {
|
111
|
-
"name": "support.
|
134
|
+
"name": "support.class"
|
112
135
|
}
|
113
136
|
}
|
114
137
|
},
|
@@ -122,7 +145,7 @@
|
|
122
145
|
"name": "keyword.operator"
|
123
146
|
},
|
124
147
|
"3": {
|
125
|
-
"name": "support.
|
148
|
+
"name": "support.class"
|
126
149
|
}
|
127
150
|
}
|
128
151
|
},
|
@@ -151,7 +174,10 @@
|
|
151
174
|
"include": "#boolean"
|
152
175
|
},
|
153
176
|
{
|
154
|
-
"include": "#
|
177
|
+
"include": "#variableDefinition"
|
178
|
+
},
|
179
|
+
{
|
180
|
+
"include": "#variableUsage"
|
155
181
|
},
|
156
182
|
{
|
157
183
|
"include": "#number"
|
@@ -159,6 +185,9 @@
|
|
159
185
|
{
|
160
186
|
"include": "#enum"
|
161
187
|
},
|
188
|
+
{
|
189
|
+
"include": "#directive"
|
190
|
+
},
|
162
191
|
{
|
163
192
|
"include": "#comment"
|
164
193
|
}
|
@@ -202,6 +231,9 @@
|
|
202
231
|
},
|
203
232
|
{
|
204
233
|
"include": "#builtInField"
|
234
|
+
},
|
235
|
+
{
|
236
|
+
"include": "#enum"
|
205
237
|
}
|
206
238
|
]
|
207
239
|
},
|
@@ -220,6 +252,39 @@
|
|
220
252
|
"fieldAlias": {
|
221
253
|
"match": "[_A-Za-z][_0-9A-Za-z]*:",
|
222
254
|
"name": "variable.other.alias.graphql"
|
255
|
+
},
|
256
|
+
"typeDef": {
|
257
|
+
"match": "(type|interface|union|scalar|enum|input|directive|extend|schema)\\s+([_A-Za-z][_0-9A-Za-z]*)?",
|
258
|
+
"captures": {
|
259
|
+
"1": {
|
260
|
+
"name": "keyword.operator"
|
261
|
+
},
|
262
|
+
"2": {
|
263
|
+
"name": "support.class"
|
264
|
+
}
|
265
|
+
}
|
266
|
+
},
|
267
|
+
"typeDefImplements": {
|
268
|
+
"match": "(implements)\\s+([_A-Za-z][_0-9A-Za-z,\\s]*)",
|
269
|
+
"captures": {
|
270
|
+
"1": {
|
271
|
+
"name": "keyword.operator"
|
272
|
+
},
|
273
|
+
"2": {
|
274
|
+
"name": "support.class"
|
275
|
+
}
|
276
|
+
}
|
277
|
+
},
|
278
|
+
"unionOptions": {
|
279
|
+
"match": "(=|\\||on)\\s+([_A-Za-z][_0-9A-Za-z]*)",
|
280
|
+
"captures": {
|
281
|
+
"1": {
|
282
|
+
"name": "keyword.operator"
|
283
|
+
},
|
284
|
+
"2": {
|
285
|
+
"name": "support.class"
|
286
|
+
}
|
287
|
+
}
|
223
288
|
}
|
224
289
|
}
|
225
290
|
}
|
data/grammars/source.js.json
CHANGED
@@ -1671,7 +1671,7 @@
|
|
1671
1671
|
"name": "storage.type.class.jsdoc"
|
1672
1672
|
},
|
1673
1673
|
{
|
1674
|
-
"match": "(?x)\n({(
|
1674
|
+
"match": "(?x)\n(?:(?<=@param)|(?<=@type))\n\\s+\n({(?:\n \\* | # {*} any type\n \\? | # {?} unknown type\n\n (?: # Check for a prefix\n \\? | # {?string} nullable type\n ! | # {!string} non-nullable type\n \\.{3} # {...string} variable number of parameters\n )?\n\n (?:\n \\( # Opening bracket of multiple types with parenthesis {(string|number)}\n [a-zA-Z_$]+\n (?:\n (?:\n [\\w$]*\n (?:\\[\\])? # {(string[]|number)} type application, an array of strings or a number\n ) |\n <[\\w$]+(?:,\\s+[\\w$]+)*> # {Array<string>} or {Object<string, number>} type application\n )\n (?:\n [\\.|~] # {Foo.bar} namespaced, {string|number} multiple, {Foo~bar} class-specific callback\n [a-zA-Z_$]+\n (?:\n (?:\n [\\w$]*\n (?:\\[\\])? # {(string|number[])} type application, a string or an array of numbers\n ) |\n <[\\w$]+(?:,\\s+[\\w$]+)*> # {Array<string>} or {Object<string, number>} type application\n )\n )*\n \\) |\n [a-zA-Z_$]+\n (?:\n (?:\n [\\w$]*\n (?:\\[\\])? # {string[]|number} type application, an array of strings or a number\n ) |\n <[\\w$]+(?:,\\s+[\\w$]+)*> # {Array<string>} or {Object<string, number>} type application\n )\n (?:\n [\\.|~] # {Foo.bar} namespaced, {string|number} multiple, {Foo~bar} class-specific callback\n [a-zA-Z_$]+\n (?:\n [\\w$]* |\n <[\\w$]+(?:,\\s+[\\w$]+)*> # {Array<string>} or {Object<string, number>} type application\n )\n )*\n )\n # Check for suffix\n (?:\\[\\])? # {string[]} type application, an array of strings\n =? # {string=} optional parameter\n)})\n\\s+\n(\n \\[ # [foo] optional parameter\n \\s*\n (?:\n [a-zA-Z_$][\\w$]*\n (?:\n (?:\\[\\])? # Foo[].bar properties within an array\n \\. # Foo.Bar namespaced parameter\n [a-zA-Z_$][\\w$]*\n )*\n (?:\n \\s*\n = # [foo=bar] Default parameter value\n \\s*\n [\\w$\\s]*\n )?\n )\n \\s*\n \\] |\n (?:\n [a-zA-Z_$][\\w$]*\n (?:\n (?:\\[\\])? # Foo[].bar properties within an array\n \\. # Foo.Bar namespaced parameter\n [a-zA-Z_$][\\w$]*\n )*\n )?\n)\n\\s+\n((?:(?!\\*\\/).)*) # The type description",
|
1675
1675
|
"captures": {
|
1676
1676
|
"0": {
|
1677
1677
|
"name": "other.meta.jsdoc"
|
@@ -1688,7 +1688,7 @@
|
|
1688
1688
|
}
|
1689
1689
|
},
|
1690
1690
|
{
|
1691
|
-
"match": "(?x)\n(
|
1691
|
+
"match": "(?x)\n({(?:\n \\* | # {*} any type\n \\? | # {?} unknown type\n\n (?: # Check for a prefix\n \\? | # {?string} nullable type\n ! | # {!string} non-nullable type\n \\.{3} # {...string} variable number of parameters\n )?\n\n (?:\n \\( # Opening bracket of multiple types with parenthesis {(string|number)}\n [a-zA-Z_$]+\n (?:\n [\\w$]* |\n <[\\w$]+(?:,\\s+[\\w$]+)*> # {Array<string>} or {Object<string, number>} type application\n )\n (?:\n [\\.|~] # {Foo.bar} namespaced, {string|number} multiple, {Foo~bar} class-specific callback\n [a-zA-Z_$]+\n (?:\n [\\w$]* |\n <[\\w$]+(?:,\\s+[\\w$]+)*> # {Array<string>} or {Object<string, number>} type application\n )\n )*\n \\) |\n [a-zA-Z_$]+\n (?:\n [\\w$]* |\n <[\\w$]+(?:,\\s+[\\w$]+)*> # {Array<string>} or {Object<string, number>} type application\n )\n (?:\n [\\.|~] # {Foo.bar} namespaced, {string|number} multiple, {Foo~bar} class-specific callback\n [a-zA-Z_$]+\n (?:\n [\\w$]* |\n <[\\w$]+(?:,\\s+[\\w$]+)*> # {Array<string>} or {Object<string, number>} type application\n )\n )*\n )\n # Check for suffix\n (?:\\[\\])? # {string[]} type application, an array of strings\n =? # {string=} optional parameter\n)})\n\\s+\n((?:(?!\\*\\/).)*) # The type description",
|
1692
1692
|
"captures": {
|
1693
1693
|
"0": {
|
1694
1694
|
"name": "other.meta.jsdoc"
|
data/grammars/source.js.jsx.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "Babel ES6 JavaScript",
|
3
3
|
"scopeName": "source.js.jsx",
|
4
|
-
"foldingStartMarker": "(
|
4
|
+
"foldingStartMarker": "(/\\*|\\{|\\()",
|
5
5
|
"foldingEndMarker": "(\\*/|\\}|\\))",
|
6
6
|
"firstLineMatch": "^#!\\s*/.*\\b(node|js)$\\n?",
|
7
7
|
"fileTypes": [
|
@@ -105,8 +105,7 @@
|
|
105
105
|
"include": "#literal-language-variable"
|
106
106
|
},
|
107
107
|
{
|
108
|
-
"include": "#literal-object"
|
109
|
-
"comment": "before literal-module as it traps default {"
|
108
|
+
"include": "#literal-object"
|
110
109
|
},
|
111
110
|
{
|
112
111
|
"include": "#literal-module"
|
@@ -147,7 +146,7 @@
|
|
147
146
|
"comment": "so set at arbitary 1000 chars to avoid parsing minified files",
|
148
147
|
"patterns": [
|
149
148
|
{
|
150
|
-
"match": "
|
149
|
+
"match": "^(?:).{1000,}"
|
151
150
|
}
|
152
151
|
]
|
153
152
|
},
|
@@ -157,7 +156,7 @@
|
|
157
156
|
"comment": "e.g. play: function(arg1, arg2) { }",
|
158
157
|
"name": "meta.function.json.js",
|
159
158
|
"begin": "(?<=^|{|,)\\s*+([_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(?:(async)\\s+)?\\s*+((?<!\\.)\\bfunction\\b)\\s*+(?:(\\*)\\s*)?\\s*(?=\\(|<)",
|
160
|
-
"end": "(
|
159
|
+
"end": "(?=\\{)",
|
161
160
|
"applyEndPatternLast": 1,
|
162
161
|
"beginCaptures": {
|
163
162
|
"1": {
|
@@ -185,8 +184,8 @@
|
|
185
184
|
{
|
186
185
|
"comment": "e.g. 'play': function(arg1, arg2) { }",
|
187
186
|
"name": "meta.function.json.js",
|
188
|
-
"begin": "(?<=^|{|,)\\s*+(('
|
189
|
-
"end": "(
|
187
|
+
"begin": "(?<=^|{|,)\\s*+(('|\\\")([^\"']*)(\\k<-3>))\\s*+(:)\\s*+(async)?\\s*+((?<!\\.)\\bfunction\\b)\\s*(\\*\\s*)?\\s*(?=\\(|<)",
|
188
|
+
"end": "(?=\\{)",
|
190
189
|
"applyEndPatternLast": 1,
|
191
190
|
"beginCaptures": {
|
192
191
|
"1": {
|
@@ -227,7 +226,7 @@
|
|
227
226
|
{
|
228
227
|
"comment": "e.g. play: async <T>(args) => { }",
|
229
228
|
"name": "meta.function.json.arrow.js",
|
230
|
-
"begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+((
|
229
|
+
"begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
231
230
|
"end": "\\s*(=>)",
|
232
231
|
"beginCaptures": {
|
233
232
|
"1": {
|
@@ -254,7 +253,7 @@
|
|
254
253
|
{
|
255
254
|
"comment": "e.g. play: arg => { }",
|
256
255
|
"name": "meta.function.json.arrow.js",
|
257
|
-
"begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+([_$a-zA-Z][$\\w]*)\\s*+((
|
256
|
+
"begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+([_$a-zA-Z][$\\w]*)\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
258
257
|
"end": "\\s*(=>)",
|
259
258
|
"beginCaptures": {
|
260
259
|
"1": {
|
@@ -284,7 +283,7 @@
|
|
284
283
|
{
|
285
284
|
"comment": "e.g. 'play': (args) => { }",
|
286
285
|
"name": "meta.function.json.arrow.js",
|
287
|
-
"begin": "(?<=^|{|,)\\s*+(('
|
286
|
+
"begin": "(?<=^|{|,)\\s*+(('|\\\")([^\"']*)(\\k<-3>))\\s*(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
288
287
|
"end": "\\s*(=>)",
|
289
288
|
"applyEndPatternLast": 1,
|
290
289
|
"endCaptures": {
|
@@ -321,7 +320,7 @@
|
|
321
320
|
{
|
322
321
|
"comment": "e.g. 'play': arg => { }",
|
323
322
|
"name": "meta.function.json.arrow.js",
|
324
|
-
"begin": "(?<=^|{|,)\\s*+(('
|
323
|
+
"begin": "(?<=^|{|,)\\s*+(('|\\\")([^\"']*)(\\k<-3>))\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+([_$a-zA-Z][$\\w]*)\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
325
324
|
"end": "\\s*(=>)",
|
326
325
|
"beginCaptures": {
|
327
326
|
"1": {
|
@@ -363,7 +362,7 @@
|
|
363
362
|
"patterns": [
|
364
363
|
{
|
365
364
|
"comment": "string as a property name",
|
366
|
-
"match": "\\s*+(?<!\\.|\\?|\\?\\s|\\?\\s\\s)(((
|
365
|
+
"match": "\\s*+(?<!\\.|\\?|\\?\\s|\\?\\s\\s)(((\\\")(\\\\.|[^\\\\\"])*(\\\"))|((')(\\\\.|[^\\\\'])*(')))\\s*+(:)",
|
367
366
|
"captures": {
|
368
367
|
"1": {
|
369
368
|
"name": "constant.other.object.key.js"
|
@@ -434,6 +433,7 @@
|
|
434
433
|
"include": "#literal-keyword-storage"
|
435
434
|
},
|
436
435
|
{
|
436
|
+
"name": "keyword.control.flow.js",
|
437
437
|
"match": "\\s*+(?<!\\.)\\b(yield)\\b(?:\\s*+(\\*))?",
|
438
438
|
"captures": {
|
439
439
|
"1": {
|
@@ -445,36 +445,20 @@
|
|
445
445
|
}
|
446
446
|
},
|
447
447
|
{
|
448
|
-
"
|
449
|
-
"
|
450
|
-
"1": {
|
451
|
-
"name": "keyword.control.flow.js"
|
452
|
-
}
|
453
|
-
}
|
448
|
+
"name": "keyword.control.flow.js",
|
449
|
+
"match": "\\s*+(?<!\\.)\\b(await|return)\\b"
|
454
450
|
},
|
455
451
|
{
|
456
|
-
"
|
457
|
-
"
|
458
|
-
"1": {
|
459
|
-
"name": "keyword.control.conditional.js"
|
460
|
-
}
|
461
|
-
}
|
452
|
+
"name": "keyword.control.conditional.js",
|
453
|
+
"match": "\\s*+(?<!\\.)\\b(if|else)\\b"
|
462
454
|
},
|
463
455
|
{
|
464
|
-
"
|
465
|
-
"
|
466
|
-
"1": {
|
467
|
-
"name": "keyword.control.trycatch.js"
|
468
|
-
}
|
469
|
-
}
|
456
|
+
"name": "keyword.control.trycatch.js",
|
457
|
+
"match": "\\s*+(?<!\\.)\\b(catch|finally|throw|try)\\b"
|
470
458
|
},
|
471
459
|
{
|
472
|
-
"
|
473
|
-
"
|
474
|
-
"1": {
|
475
|
-
"name": "keyword.control.loop.js"
|
476
|
-
}
|
477
|
-
}
|
460
|
+
"name": "keyword.control.loop.js",
|
461
|
+
"match": "\\s*+(?<!\\.)\\b(break|continue|do|goto|while)\\b"
|
478
462
|
}
|
479
463
|
]
|
480
464
|
},
|
@@ -483,9 +467,9 @@
|
|
483
467
|
{
|
484
468
|
"name": "meta.for.js",
|
485
469
|
"begin": "\\s*+(?<!\\.)\\b(for)\\b",
|
486
|
-
"end": "\\s
|
470
|
+
"end": "\\s*\\)",
|
487
471
|
"endCaptures": {
|
488
|
-
"
|
472
|
+
"0": {
|
489
473
|
"name": "meta.brace.round.js"
|
490
474
|
}
|
491
475
|
},
|
@@ -496,10 +480,10 @@
|
|
496
480
|
},
|
497
481
|
"patterns": [
|
498
482
|
{
|
499
|
-
"begin": "\\s
|
483
|
+
"begin": "\\s*+\\(",
|
500
484
|
"end": "\\s*(?=\\))",
|
501
485
|
"beginCaptures": {
|
502
|
-
"
|
486
|
+
"0": {
|
503
487
|
"name": "meta.brace.round.js"
|
504
488
|
}
|
505
489
|
},
|
@@ -524,14 +508,14 @@
|
|
524
508
|
{
|
525
509
|
"name": "meta.switch.js",
|
526
510
|
"begin": "\\s*+(?<!\\.)\\b(switch)\\b",
|
527
|
-
"end": "\\s
|
511
|
+
"end": "\\s*\\}",
|
528
512
|
"beginCaptures": {
|
529
513
|
"1": {
|
530
514
|
"name": "keyword.control.switch.js"
|
531
515
|
}
|
532
516
|
},
|
533
517
|
"endCaptures": {
|
534
|
-
"
|
518
|
+
"0": {
|
535
519
|
"name": "meta.brace.curly.js"
|
536
520
|
}
|
537
521
|
},
|
@@ -540,10 +524,10 @@
|
|
540
524
|
"include": "#round-brackets"
|
541
525
|
},
|
542
526
|
{
|
543
|
-
"begin": "\\s
|
527
|
+
"begin": "\\s*+\\{",
|
544
528
|
"end": "\\s*(?=})",
|
545
529
|
"beginCaptures": {
|
546
|
-
"
|
530
|
+
"0": {
|
547
531
|
"name": "meta.brace.curly.js"
|
548
532
|
}
|
549
533
|
},
|
@@ -594,14 +578,14 @@
|
|
594
578
|
{
|
595
579
|
"comment": "try to avoid ternary operators which have a '? some chars :'",
|
596
580
|
"begin": "(^|:|;|=|(?<=:|;|=))\\s*+(\\((?=((\"|').*?(?<=[^\\\\])\\k<-1>|[^?:])*(:|\\?\\s*+:)))",
|
597
|
-
"end": "\\s
|
581
|
+
"end": "\\s*\\)",
|
598
582
|
"beginCaptures": {
|
599
583
|
"2": {
|
600
584
|
"name": "meta.brace.round.js"
|
601
585
|
}
|
602
586
|
},
|
603
587
|
"endCaptures": {
|
604
|
-
"
|
588
|
+
"0": {
|
605
589
|
"name": "meta.brace.round.js"
|
606
590
|
}
|
607
591
|
},
|
@@ -615,15 +599,15 @@
|
|
615
599
|
]
|
616
600
|
},
|
617
601
|
{
|
618
|
-
"begin": "\\s
|
619
|
-
"end": "\\s
|
602
|
+
"begin": "\\s*+\\(",
|
603
|
+
"end": "\\s*\\)",
|
620
604
|
"endCaptures": {
|
621
|
-
"
|
605
|
+
"0": {
|
622
606
|
"name": "meta.brace.round.js"
|
623
607
|
}
|
624
608
|
},
|
625
609
|
"beginCaptures": {
|
626
|
-
"
|
610
|
+
"0": {
|
627
611
|
"name": "meta.brace.round.js"
|
628
612
|
}
|
629
613
|
},
|
@@ -638,15 +622,15 @@
|
|
638
622
|
"square-brackets": {
|
639
623
|
"patterns": [
|
640
624
|
{
|
641
|
-
"begin": "\\s
|
642
|
-
"end": "\\s
|
625
|
+
"begin": "\\s*+\\[",
|
626
|
+
"end": "\\s*\\]",
|
643
627
|
"endCaptures": {
|
644
|
-
"
|
628
|
+
"0": {
|
645
629
|
"name": "meta.brace.square.js"
|
646
630
|
}
|
647
631
|
},
|
648
632
|
"beginCaptures": {
|
649
|
-
"
|
633
|
+
"0": {
|
650
634
|
"name": "meta.brace.square.js"
|
651
635
|
}
|
652
636
|
},
|
@@ -661,15 +645,15 @@
|
|
661
645
|
"curly-brackets": {
|
662
646
|
"patterns": [
|
663
647
|
{
|
664
|
-
"begin": "\\s
|
665
|
-
"end": "\\s
|
648
|
+
"begin": "\\s*+\\{",
|
649
|
+
"end": "\\s*\\}",
|
666
650
|
"endCaptures": {
|
667
|
-
"
|
651
|
+
"0": {
|
668
652
|
"name": "meta.brace.curly.js"
|
669
653
|
}
|
670
654
|
},
|
671
655
|
"beginCaptures": {
|
672
|
-
"
|
656
|
+
"0": {
|
673
657
|
"name": "meta.brace.curly.js"
|
674
658
|
}
|
675
659
|
},
|
@@ -702,21 +686,15 @@
|
|
702
686
|
},
|
703
687
|
"comments": {
|
704
688
|
"patterns": [
|
705
|
-
{
|
706
|
-
"include": "#flowtype-comments"
|
707
|
-
},
|
708
689
|
{
|
709
690
|
"include": "#special-comments-conditional-compilation"
|
710
691
|
},
|
711
692
|
{
|
712
|
-
"
|
713
|
-
"begin": "\\s
|
714
|
-
"end": "
|
693
|
+
"name": "comment.block.documentation.js",
|
694
|
+
"begin": "\\s*+/\\*\\*(?!/)",
|
695
|
+
"end": "\\s*\\*/",
|
715
696
|
"captures": {
|
716
|
-
"
|
717
|
-
"name": "comment.block.documentation.js"
|
718
|
-
},
|
719
|
-
"2": {
|
697
|
+
"0": {
|
720
698
|
"name": "punctuation.definition.comment.js"
|
721
699
|
}
|
722
700
|
},
|
@@ -727,45 +705,32 @@
|
|
727
705
|
]
|
728
706
|
},
|
729
707
|
{
|
730
|
-
"
|
731
|
-
"begin": "\\s
|
732
|
-
"end": "
|
708
|
+
"name": "comment.block.js",
|
709
|
+
"begin": "\\s*+/\\*",
|
710
|
+
"end": "\\s*\\*/",
|
733
711
|
"captures": {
|
734
|
-
"
|
735
|
-
"name": "comment.block.js"
|
736
|
-
},
|
737
|
-
"2": {
|
712
|
+
"0": {
|
738
713
|
"name": "punctuation.definition.comment.js"
|
739
714
|
}
|
740
715
|
}
|
741
716
|
},
|
742
717
|
{
|
743
|
-
"
|
718
|
+
"name": "comment.block.html.js",
|
719
|
+
"match": "\\s*+(<!--|-->)",
|
744
720
|
"captures": {
|
745
|
-
"
|
746
|
-
"name": "comment.block.html.js"
|
747
|
-
},
|
748
|
-
"2": {
|
721
|
+
"0": {
|
749
722
|
"name": "punctuation.definition.comment.js"
|
750
723
|
}
|
751
724
|
}
|
752
725
|
},
|
753
726
|
{
|
754
|
-
"
|
755
|
-
"begin": "\\s*+(
|
727
|
+
"name": "comment.line.double-slash.js",
|
728
|
+
"begin": "\\s*+(//)",
|
756
729
|
"end": "\\s*$",
|
757
730
|
"beginCaptures": {
|
758
731
|
"1": {
|
759
|
-
"name": "comment.line.double-slash.js"
|
760
|
-
},
|
761
|
-
"2": {
|
762
732
|
"name": "punctuation.definition.comment.js"
|
763
733
|
}
|
764
|
-
},
|
765
|
-
"endCaptures": {
|
766
|
-
"0": {
|
767
|
-
"name": "comment.line.double-slash.js"
|
768
|
-
}
|
769
734
|
}
|
770
735
|
},
|
771
736
|
{
|
@@ -782,14 +747,11 @@
|
|
782
747
|
"special-comments-conditional-compilation": {
|
783
748
|
"patterns": [
|
784
749
|
{
|
785
|
-
"
|
786
|
-
"begin": "\\s
|
750
|
+
"name": "comment.block.conditional.js",
|
751
|
+
"begin": "\\s*+/\\*(?=@)",
|
787
752
|
"end": "\\s*\\*/",
|
788
753
|
"captures": {
|
789
|
-
"
|
790
|
-
"name": "comment.block.conditional.js"
|
791
|
-
},
|
792
|
-
"2": {
|
754
|
+
"0": {
|
793
755
|
"name": "punctuation.definition.comment.js"
|
794
756
|
}
|
795
757
|
},
|
@@ -844,24 +806,16 @@
|
|
844
806
|
"literal-semi-colon": {
|
845
807
|
"patterns": [
|
846
808
|
{
|
847
|
-
"
|
848
|
-
"
|
849
|
-
"1": {
|
850
|
-
"name": "punctuation.terminator.statement.js"
|
851
|
-
}
|
852
|
-
}
|
809
|
+
"name": "punctuation.terminator.statement.js",
|
810
|
+
"match": "\\s*+\\;"
|
853
811
|
}
|
854
812
|
]
|
855
813
|
},
|
856
814
|
"literal-comma": {
|
857
815
|
"patterns": [
|
858
816
|
{
|
859
|
-
"
|
860
|
-
"
|
861
|
-
"1": {
|
862
|
-
"name": "meta.delimiter.comma.js"
|
863
|
-
}
|
864
|
-
}
|
817
|
+
"name": "meta.delimiter.comma.js",
|
818
|
+
"match": "\\s*+,"
|
865
819
|
}
|
866
820
|
]
|
867
821
|
},
|
@@ -869,7 +823,7 @@
|
|
869
823
|
"patterns": [
|
870
824
|
{
|
871
825
|
"begin": "\\s*+(?<!\\.)\\b(const|let|var)\\b",
|
872
|
-
"end": "\\s*(
|
826
|
+
"end": "\\s*(?=\\;|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
|
873
827
|
"beginCaptures": {
|
874
828
|
"1": {
|
875
829
|
"name": "storage.type.js"
|
@@ -879,7 +833,7 @@
|
|
879
833
|
{
|
880
834
|
"comment": "other variables",
|
881
835
|
"begin": "\\s*",
|
882
|
-
"end": "\\s*((,)|(?=(
|
836
|
+
"end": "\\s*((,)|(?=(\\;)|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|}))",
|
883
837
|
"endCaptures": {
|
884
838
|
"2": {
|
885
839
|
"name": "punctuation.terminator.statement.js"
|
@@ -901,7 +855,7 @@
|
|
901
855
|
"comment": "e.g. function play<T>(arg1, arg2) { }",
|
902
856
|
"name": "meta.function.js",
|
903
857
|
"begin": "\\s*+(?:\\b(async)\\b\\s+)?\\s*+(?:(?<=\\.\\.\\.)|(?<!\\.))(\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
|
904
|
-
"end": "\\s*(
|
858
|
+
"end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
|
905
859
|
"applyEndPatternLast": 1,
|
906
860
|
"beginCaptures": {
|
907
861
|
"1": {
|
@@ -927,7 +881,7 @@
|
|
927
881
|
"comment": "e.g. play = function(arg1, arg2) { }",
|
928
882
|
"name": "meta.function.js",
|
929
883
|
"begin": "\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(?:(async)\\s+)?\\s*+((?<!\\.)\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
|
930
|
-
"end": "\\s*(
|
884
|
+
"end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
|
931
885
|
"applyEndPatternLast": 1,
|
932
886
|
"beginCaptures": {
|
933
887
|
"1": {
|
@@ -959,7 +913,7 @@
|
|
959
913
|
"comment": "e.g. Sound.prototype.play = function(arg1, arg2) { }",
|
960
914
|
"name": "meta.prototype.function.js",
|
961
915
|
"begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)(prototype)(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(?:(async)\\s+)?\\s*+((?<!\\.)\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
|
962
|
-
"end": "\\s*(
|
916
|
+
"end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
|
963
917
|
"applyEndPatternLast": 1,
|
964
918
|
"beginCaptures": {
|
965
919
|
"1": {
|
@@ -1003,7 +957,7 @@
|
|
1003
957
|
"comment": "e.g. Sound.play = function(arg1, arg2) { }",
|
1004
958
|
"name": "meta.function.static.js",
|
1005
959
|
"begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(?:(async)\\s+)?\\s*+((?<!\\.)\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
|
1006
|
-
"end": "\\s*(
|
960
|
+
"end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
|
1007
961
|
"applyEndPatternLast": 1,
|
1008
962
|
"beginCaptures": {
|
1009
963
|
"1": {
|
@@ -1123,9 +1077,6 @@
|
|
1123
1077
|
}
|
1124
1078
|
},
|
1125
1079
|
"patterns": [
|
1126
|
-
{
|
1127
|
-
"include": "#html-template"
|
1128
|
-
},
|
1129
1080
|
{
|
1130
1081
|
"include": "#literal-function-labels"
|
1131
1082
|
},
|
@@ -1154,71 +1105,36 @@
|
|
1154
1105
|
"literal-operators": {
|
1155
1106
|
"patterns": [
|
1156
1107
|
{
|
1157
|
-
"
|
1158
|
-
|
1159
|
-
{
|
1160
|
-
"match": "\\s*+(?<!\\.)\\b(delete|in|instanceof|new|of|typeof|void|with)\\b",
|
1161
|
-
"captures": {
|
1162
|
-
"1": {
|
1163
|
-
"name": "keyword.operator.js"
|
1164
|
-
}
|
1165
|
-
}
|
1108
|
+
"name": "keyword.operator.js",
|
1109
|
+
"match": "\\s*+(?<!\\.)\\b(delete|in|instanceof|new|of|typeof|void|with)\\b"
|
1166
1110
|
},
|
1167
1111
|
{
|
1168
|
-
"
|
1169
|
-
"
|
1170
|
-
"1": {
|
1171
|
-
"name": "keyword.operator.logical.js"
|
1172
|
-
}
|
1173
|
-
}
|
1112
|
+
"name": "keyword.operator.logical.js",
|
1113
|
+
"match": "\\s*+(!(?!=)|&&|\\|\\|)"
|
1174
1114
|
},
|
1175
1115
|
{
|
1176
|
-
"
|
1177
|
-
"
|
1178
|
-
"1": {
|
1179
|
-
"name": "keyword.operator.assignment.js"
|
1180
|
-
}
|
1181
|
-
}
|
1116
|
+
"name": "keyword.operator.assignment.js",
|
1117
|
+
"match": "\\s*+(=(?!(=|>)))"
|
1182
1118
|
},
|
1183
1119
|
{
|
1184
|
-
"
|
1185
|
-
"
|
1186
|
-
"1": {
|
1187
|
-
"name": "keyword.operator.assignment.augmented.js"
|
1188
|
-
}
|
1189
|
-
}
|
1120
|
+
"name": "keyword.operator.assignment.augmented.js",
|
1121
|
+
"match": "\\s*+(%=|&=|\\*=|\\+=|-=|/=|\\^=|\\|=|<<=|>>=|>>>=)"
|
1190
1122
|
},
|
1191
1123
|
{
|
1192
|
-
"
|
1193
|
-
"
|
1194
|
-
"1": {
|
1195
|
-
"name": "keyword.operator.bitwise.js"
|
1196
|
-
}
|
1197
|
-
}
|
1124
|
+
"name": "keyword.operator.bitwise.js",
|
1125
|
+
"match": "\\s*+(~|<<|>>>|>>|&|\\^|\\|)"
|
1198
1126
|
},
|
1199
1127
|
{
|
1200
|
-
"
|
1201
|
-
"
|
1202
|
-
"1": {
|
1203
|
-
"name": "keyword.operator.relational.js"
|
1204
|
-
}
|
1205
|
-
}
|
1128
|
+
"name": "keyword.operator.relational.js",
|
1129
|
+
"match": "\\s*+(<=|>=|<|>)"
|
1206
1130
|
},
|
1207
1131
|
{
|
1208
|
-
"
|
1209
|
-
"
|
1210
|
-
"1": {
|
1211
|
-
"name": "keyword.operator.comparison.js"
|
1212
|
-
}
|
1213
|
-
}
|
1132
|
+
"name": "keyword.operator.comparison.js",
|
1133
|
+
"match": "\\s*+(===|!==|==|!=)"
|
1214
1134
|
},
|
1215
1135
|
{
|
1216
|
-
"
|
1217
|
-
"
|
1218
|
-
"1": {
|
1219
|
-
"name": "keyword.operator.arithmetic.js"
|
1220
|
-
}
|
1221
|
-
}
|
1136
|
+
"name": "keyword.operator.arithmetic.js",
|
1137
|
+
"match": "\\s*+(--|\\+\\+|/(?!/|\\*)|%|\\*(?<!/\\*)|\\+|-)"
|
1222
1138
|
},
|
1223
1139
|
{
|
1224
1140
|
"comment": "ternary operator - make sure end : is consumed to avoid mistake as flow type",
|
@@ -1241,12 +1157,8 @@
|
|
1241
1157
|
]
|
1242
1158
|
},
|
1243
1159
|
{
|
1244
|
-
"
|
1245
|
-
"
|
1246
|
-
"1": {
|
1247
|
-
"name": "keyword.operator.spread.js"
|
1248
|
-
}
|
1249
|
-
}
|
1160
|
+
"name": "keyword.operator.spread.js",
|
1161
|
+
"match": "\\s*+(?<!\\.)\\.\\.\\."
|
1250
1162
|
},
|
1251
1163
|
{
|
1252
1164
|
"name": "keyword.operator.accessor.js",
|
@@ -1340,84 +1252,56 @@
|
|
1340
1252
|
"literal-language-constant": {
|
1341
1253
|
"patterns": [
|
1342
1254
|
{
|
1343
|
-
"
|
1344
|
-
"
|
1345
|
-
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1349
|
-
|
1350
|
-
|
1351
|
-
|
1352
|
-
|
1353
|
-
|
1354
|
-
|
1355
|
-
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1360
|
-
|
1255
|
+
"name": "constant.language.boolean.true.js",
|
1256
|
+
"match": "\\s*+(?<!\\.)\\btrue\\b"
|
1257
|
+
},
|
1258
|
+
{
|
1259
|
+
"name": "constant.language.boolean.false.js",
|
1260
|
+
"match": "\\s*+(?<!\\.)\\bfalse\\b"
|
1261
|
+
},
|
1262
|
+
{
|
1263
|
+
"name": "constant.language.null.js",
|
1264
|
+
"match": "\\s*+(?<!\\.)\\bnull\\b"
|
1265
|
+
},
|
1266
|
+
{
|
1267
|
+
"name": "constant.language.undefined.js",
|
1268
|
+
"match": "\\s*+(?<!\\.)\\bundefined\\b"
|
1269
|
+
},
|
1270
|
+
{
|
1271
|
+
"name": "constant.language.nan.js",
|
1272
|
+
"match": "\\s*+(?<!\\.)\\bNaN\\b"
|
1361
1273
|
}
|
1362
1274
|
]
|
1363
1275
|
},
|
1364
1276
|
"support": {
|
1365
1277
|
"patterns": [
|
1366
1278
|
{
|
1367
|
-
"
|
1368
|
-
"
|
1369
|
-
"1": {
|
1370
|
-
"name": "support.class.builtin.js"
|
1371
|
-
}
|
1372
|
-
}
|
1279
|
+
"name": "support.class.builtin.js",
|
1280
|
+
"match": "\\s*+\\b(Array|ArrayBuffer|Boolean|DataView|Date|Float(32|64)Array|Int(8|16|32)Array|Function|GeneratorFunction|Map|Math|Number|Object|Promise|Proxy|RegExp|Set|String|Uint(8|16|32)Array|Uint8ClampedArray|WeakMap|WeakSet)\\b"
|
1373
1281
|
},
|
1374
1282
|
{
|
1375
|
-
"
|
1376
|
-
"
|
1377
|
-
"1": {
|
1378
|
-
"name": "support.function.js"
|
1379
|
-
}
|
1380
|
-
}
|
1283
|
+
"name": "support.function.js",
|
1284
|
+
"match": "\\s*+(?<!\\.)\\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|eval|isFinite|isNaN|parseFloat|parseInt|unescape)\\b"
|
1381
1285
|
},
|
1382
1286
|
{
|
1383
|
-
"
|
1384
|
-
"
|
1385
|
-
"1": {
|
1386
|
-
"name": "support.function.mutator.js"
|
1387
|
-
}
|
1388
|
-
}
|
1287
|
+
"name": "support.function.mutator.js",
|
1288
|
+
"match": "(?<=\\.)(shift|sort|splice|unshift|pop|push|reverse)\\b"
|
1389
1289
|
},
|
1390
1290
|
{
|
1391
|
-
"
|
1392
|
-
"
|
1393
|
-
"1": {
|
1394
|
-
"name": "support.class.error.js"
|
1395
|
-
}
|
1396
|
-
}
|
1291
|
+
"name": "support.class.error.js",
|
1292
|
+
"match": "\\s*+(?<!\\.)\\b((Eval|Range|Reference|Syntax|Type|URI)?Error)\\b"
|
1397
1293
|
},
|
1398
1294
|
{
|
1399
|
-
"
|
1400
|
-
"
|
1401
|
-
"1": {
|
1402
|
-
"name": "keyword.other.js"
|
1403
|
-
}
|
1404
|
-
}
|
1295
|
+
"name": "keyword.other.js",
|
1296
|
+
"match": "\\s*+(?<!\\.)\\b(debugger)\\b"
|
1405
1297
|
},
|
1406
1298
|
{
|
1407
|
-
"
|
1408
|
-
"
|
1409
|
-
"1": {
|
1410
|
-
"name": "support.type.object.dom.js"
|
1411
|
-
}
|
1412
|
-
}
|
1299
|
+
"name": "support.type.object.dom.js",
|
1300
|
+
"match": "\\s*+(?<!\\.)\\b(document|window)\\b"
|
1413
1301
|
},
|
1414
1302
|
{
|
1415
|
-
"
|
1416
|
-
"
|
1417
|
-
"1": {
|
1418
|
-
"name": "support.constant.dom.js"
|
1419
|
-
}
|
1420
|
-
}
|
1303
|
+
"name": "support.constant.dom.js",
|
1304
|
+
"match": "\\s*+\\b(ELEMENT_NODE|ATTRIBUTE_NODE|TEXT_NODE|CDATA_SECTION_NODE|ENTITY_REFERENCE_NODE|ENTITY_NODE|PROCESSING_INSTRUCTION_NODE|COMMENT_NODE|DOCUMENT_NODE|DOCUMENT_TYPE_NODE|DOCUMENT_FRAGMENT_NODE|NOTATION_NODE|INDEX_SIZE_ERR|DOMSTRING_SIZE_ERR|HIERARCHY_REQUEST_ERR|WRONG_DOCUMENT_ERR|INVALID_CHARACTER_ERR|NO_DATA_ALLOWED_ERR|NO_MODIFICATION_ALLOWED_ERR|NOT_FOUND_ERR|NOT_SUPPORTED_ERR|INUSE_ATTRIBUTE_ERR)\\b"
|
1421
1305
|
},
|
1422
1306
|
{
|
1423
1307
|
"match": "\\s*+(?<!\\.)\\b(console)(?:(\\.)(warn|info|log|error|time|timeEnd|assert))?\\b",
|
@@ -1476,30 +1360,17 @@
|
|
1476
1360
|
}
|
1477
1361
|
},
|
1478
1362
|
{
|
1479
|
-
"
|
1480
|
-
"
|
1481
|
-
"1": {
|
1482
|
-
"name": "support.type.object.node.js"
|
1483
|
-
}
|
1484
|
-
}
|
1363
|
+
"name": "support.type.object.node.js",
|
1364
|
+
"match": "\\s*+(?<!\\.)\\b(global|GLOBAL|root|__dirname|__filename)\\b"
|
1485
1365
|
},
|
1486
1366
|
{
|
1487
|
-
"
|
1488
|
-
"
|
1489
|
-
"1": {
|
1490
|
-
"name": "support.class.node.js"
|
1491
|
-
}
|
1492
|
-
}
|
1367
|
+
"name": "support.class.node.js",
|
1368
|
+
"match": "\\s*+\\b(Buffer|EventEmitter|Server|Pipe|Socket|REPLServer|ReadStream|WriteStream|Stream|Inflate|Deflate|InflateRaw|DeflateRaw|GZip|GUnzip|Unzip|Zip)\\b"
|
1493
1369
|
},
|
1494
1370
|
{
|
1495
|
-
"
|
1496
|
-
"begin": "\\s*+
|
1497
|
-
"end": "
|
1498
|
-
"captures": {
|
1499
|
-
"1": {
|
1500
|
-
"name": "meta.tag.mustache.js"
|
1501
|
-
}
|
1502
|
-
}
|
1371
|
+
"name": "meta.tag.mustache.js",
|
1372
|
+
"begin": "\\s*+{{",
|
1373
|
+
"end": "\\s*}}"
|
1503
1374
|
}
|
1504
1375
|
]
|
1505
1376
|
},
|
@@ -1507,24 +1378,24 @@
|
|
1507
1378
|
"patterns": [
|
1508
1379
|
{
|
1509
1380
|
"comment": "Classes",
|
1510
|
-
"begin": "\\s*+(?<!\\.)\\b(
|
1381
|
+
"begin": "\\s*+(?<!\\.)\\b(class)\\s+",
|
1511
1382
|
"end": "\\s*(?<=})",
|
1512
1383
|
"beginCaptures": {
|
1513
|
-
"
|
1384
|
+
"0": {
|
1514
1385
|
"name": "meta.class.js"
|
1515
1386
|
},
|
1516
|
-
"
|
1387
|
+
"1": {
|
1517
1388
|
"name": "storage.type.class.js"
|
1518
1389
|
}
|
1519
1390
|
},
|
1520
1391
|
"patterns": [
|
1521
1392
|
{
|
1522
|
-
"match": "\\s*+\\b(
|
1393
|
+
"match": "\\s*+\\b(extends)\\b\\s*+",
|
1523
1394
|
"captures": {
|
1524
|
-
"
|
1395
|
+
"0": {
|
1525
1396
|
"name": "meta.class.extends.js"
|
1526
1397
|
},
|
1527
|
-
"
|
1398
|
+
"1": {
|
1528
1399
|
"name": "storage.type.extends.js"
|
1529
1400
|
}
|
1530
1401
|
}
|
@@ -1532,21 +1403,17 @@
|
|
1532
1403
|
{
|
1533
1404
|
"comment": "look for classes names but dont assume uppercase start char",
|
1534
1405
|
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)",
|
1535
|
-
"
|
1536
|
-
"1": {
|
1537
|
-
"name": "entity.name.class.js"
|
1538
|
-
}
|
1539
|
-
}
|
1406
|
+
"name": "entity.name.class.js"
|
1540
1407
|
},
|
1541
1408
|
{
|
1542
1409
|
"include": "#flowtype-polymorphs"
|
1543
1410
|
},
|
1544
1411
|
{
|
1545
|
-
"begin": "\\s*+
|
1412
|
+
"begin": "\\s*+{",
|
1546
1413
|
"end": "\\s*(})",
|
1547
1414
|
"contentName": "meta.class.body.js",
|
1548
1415
|
"beginCaptures": {
|
1549
|
-
"
|
1416
|
+
"0": {
|
1550
1417
|
"name": "punctuation.section.class.begin.js"
|
1551
1418
|
}
|
1552
1419
|
},
|
@@ -1601,12 +1468,8 @@
|
|
1601
1468
|
]
|
1602
1469
|
},
|
1603
1470
|
{
|
1604
|
-
"match": "\\s
|
1605
|
-
"
|
1606
|
-
"1": {
|
1607
|
-
"name": "storage.modifier.js"
|
1608
|
-
}
|
1609
|
-
}
|
1471
|
+
"match": "\\s*+\\b(?<!\\.)static\\b(?!\\.)",
|
1472
|
+
"name": "storage.modifier.js"
|
1610
1473
|
},
|
1611
1474
|
{
|
1612
1475
|
"include": "#flowtype-variable"
|
@@ -1692,60 +1555,32 @@
|
|
1692
1555
|
"literal-language-variable": {
|
1693
1556
|
"patterns": [
|
1694
1557
|
{
|
1695
|
-
"
|
1696
|
-
"
|
1697
|
-
"1": {
|
1698
|
-
"name": "variable.language.arguments.js"
|
1699
|
-
}
|
1700
|
-
}
|
1558
|
+
"name": "variable.language.arguments.js",
|
1559
|
+
"match": "\\s*+(?<!(?<!\\.\\.)\\.)\\b(arguments)\\b"
|
1701
1560
|
},
|
1702
1561
|
{
|
1703
|
-
"
|
1704
|
-
"
|
1705
|
-
"1": {
|
1706
|
-
"name": "variable.language.super.js"
|
1707
|
-
}
|
1708
|
-
}
|
1562
|
+
"name": "variable.language.super.js",
|
1563
|
+
"match": "\\s*+(?<!(?<!\\.\\.)\\.)\\b(super)\\b\\s*+(?!\\()"
|
1709
1564
|
},
|
1710
1565
|
{
|
1711
|
-
"
|
1712
|
-
"
|
1713
|
-
"1": {
|
1714
|
-
"name": "variable.language.this.js"
|
1715
|
-
}
|
1716
|
-
}
|
1566
|
+
"name": "variable.language.this.js",
|
1567
|
+
"match": "\\s*+(?<!(?<!\\.\\.)\\.)\\b(this)\\b"
|
1717
1568
|
},
|
1718
1569
|
{
|
1719
|
-
"
|
1720
|
-
"
|
1721
|
-
"1": {
|
1722
|
-
"name": "variable.language.self.js"
|
1723
|
-
}
|
1724
|
-
}
|
1570
|
+
"name": "variable.language.self.js",
|
1571
|
+
"match": "\\s*+(?<!(?<!\\.\\.)\\.)\\b(self)\\b\\s*+(?!\\()"
|
1725
1572
|
},
|
1726
1573
|
{
|
1727
|
-
"
|
1728
|
-
"
|
1729
|
-
"1": {
|
1730
|
-
"name": "variable.language.proto.js"
|
1731
|
-
}
|
1732
|
-
}
|
1574
|
+
"name": "variable.language.proto.js",
|
1575
|
+
"match": "\\s*+(?<=\\.)\\b(__proto__)\\b"
|
1733
1576
|
},
|
1734
1577
|
{
|
1735
|
-
"
|
1736
|
-
"
|
1737
|
-
"1": {
|
1738
|
-
"name": "variable.language.constructor.js"
|
1739
|
-
}
|
1740
|
-
}
|
1578
|
+
"name": "variable.language.constructor.js",
|
1579
|
+
"match": "\\s*+(?<=\\.)\\b(constructor)\\b\\s*+(?!\\()"
|
1741
1580
|
},
|
1742
1581
|
{
|
1743
|
-
"
|
1744
|
-
"
|
1745
|
-
"1": {
|
1746
|
-
"name": "variable.language.prototype.js"
|
1747
|
-
}
|
1748
|
-
}
|
1582
|
+
"name": "variable.language.prototype.js",
|
1583
|
+
"match": "\\s*+(?<=\\.)\\b(prototype)\\b"
|
1749
1584
|
}
|
1750
1585
|
]
|
1751
1586
|
},
|
@@ -1761,7 +1596,7 @@
|
|
1761
1596
|
},
|
1762
1597
|
{
|
1763
1598
|
"name": "constant.character.escape",
|
1764
|
-
"match": "\\\\u(({[0-9a-fA-F]+\\})|[0-9a-fA-F]{4})"
|
1599
|
+
"match": "\\\\u((\\{[0-9a-fA-F]+\\})|[0-9a-fA-F]{4})"
|
1765
1600
|
},
|
1766
1601
|
{
|
1767
1602
|
"name": "constant.character.escape",
|
@@ -1822,7 +1657,7 @@
|
|
1822
1657
|
{
|
1823
1658
|
"comment": "e.g. (args) => { }",
|
1824
1659
|
"name": "meta.function.arrow.js",
|
1825
|
-
"begin": "\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+((
|
1660
|
+
"begin": "\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
1826
1661
|
"end": "\\s*(=>)",
|
1827
1662
|
"applyEndPatternLast": 1,
|
1828
1663
|
"endCaptures": {
|
@@ -1860,7 +1695,7 @@
|
|
1860
1695
|
{
|
1861
1696
|
"comment": "e.g. play = (args) => { }",
|
1862
1697
|
"name": "meta.function.arrow.js",
|
1863
|
-
"begin": "\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+((
|
1698
|
+
"begin": "\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
1864
1699
|
"end": "\\s*(=>)",
|
1865
1700
|
"applyEndPatternLast": 1,
|
1866
1701
|
"beginCaptures": {
|
@@ -1910,7 +1745,7 @@
|
|
1910
1745
|
{
|
1911
1746
|
"comment": "Sound.prototype.play = (args) => { }",
|
1912
1747
|
"name": "meta.prototype.function.arrow.js",
|
1913
|
-
"begin": "\\s*+(\\b[A-Z][$\\w]*)?(\\.)(prototype)(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+((
|
1748
|
+
"begin": "\\s*+(\\b[A-Z][$\\w]*)?(\\.)(prototype)(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
1914
1749
|
"end": "\\s*(=>)",
|
1915
1750
|
"applyEndPatternLast": 1,
|
1916
1751
|
"beginCaptures": {
|
@@ -1984,7 +1819,7 @@
|
|
1984
1819
|
{
|
1985
1820
|
"comment": "e.g. Sound.play = (args) => { }",
|
1986
1821
|
"name": "meta.function.static.arrow.js",
|
1987
|
-
"begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+((
|
1822
|
+
"begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
1988
1823
|
"end": "\\s*(=>)",
|
1989
1824
|
"applyEndPatternLast": 1,
|
1990
1825
|
"beginCaptures": {
|
@@ -2051,7 +1886,7 @@
|
|
2051
1886
|
{
|
2052
1887
|
"comment": "e.g. play<T,T>(arg1, arg2): Type<T> { }",
|
2053
1888
|
"name": "meta.function.method.js",
|
2054
|
-
"begin": "(?:^|;)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)(?!\\b(break|case|catch|continue|do|else|finally|for|function|if|export|import|package|return|switch|throw|try|while|with)\\b)([_$a-zA-Z][$\\w]*)\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+({(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s
|
1889
|
+
"begin": "(?:^|;)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)(?!\\b(break|case|catch|continue|do|else|finally|for|function|if|export|import|package|return|switch|throw|try|while|with)\\b)([_$a-zA-Z][$\\w]*)\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*\\{)",
|
2055
1890
|
"end": "\\s*(?=.)",
|
2056
1891
|
"applyEndPatternLast": 1,
|
2057
1892
|
"beginCaptures": {
|
@@ -2107,7 +1942,7 @@
|
|
2107
1942
|
{
|
2108
1943
|
"comment": "e.g. 'play'<T,T>(arg1, arg2): Type<T> { }",
|
2109
1944
|
"name": "meta.function.method.js",
|
2110
|
-
"begin": "(?<!:)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)(('
|
1945
|
+
"begin": "(?<!:)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)(('|\\\")([^\"']*)(\\k<-3>))\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\())",
|
2111
1946
|
"end": "\\s*(?=.)",
|
2112
1947
|
"applyEndPatternLast": 1,
|
2113
1948
|
"beginCaptures": {
|
@@ -2305,209 +2140,16 @@
|
|
2305
2140
|
"literal-module": {
|
2306
2141
|
"patterns": [
|
2307
2142
|
{
|
2308
|
-
"
|
2143
|
+
"name": "keyword.control.module.js",
|
2144
|
+
"match": "\\s*+(?<!\\.)\\b(import|export|default)\\b"
|
2309
2145
|
},
|
2310
2146
|
{
|
2311
|
-
"
|
2147
|
+
"name": "keyword.control.module.reference.js",
|
2148
|
+
"match": "\\s*+(?<!\\.)\\b(from|as)\\b"
|
2312
2149
|
}
|
2313
2150
|
]
|
2314
2151
|
},
|
2315
|
-
"literal-
|
2316
|
-
"begin": "\\s*+(?<!\\.)\\b(import)(?!\\s*:)\\b",
|
2317
|
-
"end": "\\s*(?:(?:(\\bfrom\\b)?+\\s++(('|\")([^\"']*)(\\k<-3>)))|(?=;|^\\s*\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|}))",
|
2318
|
-
"beginCaptures": {
|
2319
|
-
"1": {
|
2320
|
-
"name": "keyword.control.module.js"
|
2321
|
-
}
|
2322
|
-
},
|
2323
|
-
"endCaptures": {
|
2324
|
-
"1": {
|
2325
|
-
"name": "keyword.control.module.js"
|
2326
|
-
},
|
2327
|
-
"3": {
|
2328
|
-
"name": "punctuation.definition.string.begin.js"
|
2329
|
-
},
|
2330
|
-
"4": {
|
2331
|
-
"name": "string.quoted.module.js"
|
2332
|
-
},
|
2333
|
-
"5": {
|
2334
|
-
"name": "punctuation.definition.string.begin.js"
|
2335
|
-
}
|
2336
|
-
},
|
2337
|
-
"patterns": [
|
2338
|
-
{
|
2339
|
-
"match": "\\s*\\b(default)\\b",
|
2340
|
-
"captures": {
|
2341
|
-
"1": {
|
2342
|
-
"name": "keyword.control.module.js"
|
2343
|
-
}
|
2344
|
-
}
|
2345
|
-
},
|
2346
|
-
{
|
2347
|
-
"match": "\\s*\\b(typeof|type)\\b\\s++(?={|[$_a-zA-Z])(?!\\b(instanceof|in|as)\\b|,)",
|
2348
|
-
"captures": {
|
2349
|
-
"1": {
|
2350
|
-
"name": "keyword.other.typedef.flowtype"
|
2351
|
-
}
|
2352
|
-
}
|
2353
|
-
},
|
2354
|
-
{
|
2355
|
-
"name": "keyword.operator.module.all.js",
|
2356
|
-
"match": "\\*"
|
2357
|
-
},
|
2358
|
-
{
|
2359
|
-
"include": "#literal-module-as"
|
2360
|
-
},
|
2361
|
-
{
|
2362
|
-
"include": "#literal-module-brackets"
|
2363
|
-
},
|
2364
|
-
{
|
2365
|
-
"include": "#literal-variable"
|
2366
|
-
},
|
2367
|
-
{
|
2368
|
-
"include": "#comments"
|
2369
|
-
},
|
2370
|
-
{
|
2371
|
-
"include": "#literal-comma"
|
2372
|
-
}
|
2373
|
-
]
|
2374
|
-
},
|
2375
|
-
"literal-module-export": {
|
2376
|
-
"patterns": [
|
2377
|
-
{
|
2378
|
-
"comment": "e.g. export let variable =, export type a=",
|
2379
|
-
"match": "\\s*+(?<!\\.)\\b(export)(?!\\s*:)\\b(?=\\s++(let|type|typeof)\\s++[$_a-zA-Z])",
|
2380
|
-
"captures": {
|
2381
|
-
"1": {
|
2382
|
-
"name": "keyword.control.module.js"
|
2383
|
-
}
|
2384
|
-
}
|
2385
|
-
},
|
2386
|
-
{
|
2387
|
-
"comment": "export { or export * or export var from module",
|
2388
|
-
"begin": "\\s*+(?<!\\.)\\b(export)\\b(?=\\s++({|\\*|[$_a-zA-Z][$_\\w]*(\\s++from\\b|\\s*,)))",
|
2389
|
-
"end": "\\s*(?:(?:(\\bfrom\\b)?+\\s++(('|\")([^\"']*)(\\k<-3>)))|(?=;|^\\s*\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|}))",
|
2390
|
-
"beginCaptures": {
|
2391
|
-
"1": {
|
2392
|
-
"name": "keyword.control.module.js"
|
2393
|
-
}
|
2394
|
-
},
|
2395
|
-
"endCaptures": {
|
2396
|
-
"1": {
|
2397
|
-
"name": "keyword.control.module.js"
|
2398
|
-
},
|
2399
|
-
"3": {
|
2400
|
-
"name": "punctuation.definition.string.begin.js"
|
2401
|
-
},
|
2402
|
-
"4": {
|
2403
|
-
"name": "string.quoted.module.js"
|
2404
|
-
},
|
2405
|
-
"5": {
|
2406
|
-
"name": "punctuation.definition.string.begin.js"
|
2407
|
-
}
|
2408
|
-
},
|
2409
|
-
"patterns": [
|
2410
|
-
{
|
2411
|
-
"name": "keyword.operator.module.all.js",
|
2412
|
-
"match": "\\*"
|
2413
|
-
},
|
2414
|
-
{
|
2415
|
-
"include": "#literal-module-as"
|
2416
|
-
},
|
2417
|
-
{
|
2418
|
-
"include": "#literal-module-brackets"
|
2419
|
-
},
|
2420
|
-
{
|
2421
|
-
"include": "#literal-variable"
|
2422
|
-
},
|
2423
|
-
{
|
2424
|
-
"include": "#comments"
|
2425
|
-
},
|
2426
|
-
{
|
2427
|
-
"include": "#literal-comma"
|
2428
|
-
}
|
2429
|
-
]
|
2430
|
-
},
|
2431
|
-
{
|
2432
|
-
"comment": "trap expressions among - export function* () {}",
|
2433
|
-
"match": "\\s*+(?<!\\.)\\b(export|default)(?!\\s*:)\\b",
|
2434
|
-
"captures": {
|
2435
|
-
"1": {
|
2436
|
-
"name": "keyword.control.module.js"
|
2437
|
-
}
|
2438
|
-
}
|
2439
|
-
}
|
2440
|
-
]
|
2441
|
-
},
|
2442
|
-
"literal-module-as": {
|
2443
|
-
"match": "\\s*+(?:(\\*)|([$_a-zA-Z][$_\\w]*))\\s++(\\bas\\b)\\s++(?:(\\bdefault\\b)|([$_a-zA-Z][$_\\w]*))",
|
2444
|
-
"captures": {
|
2445
|
-
"1": {
|
2446
|
-
"name": "keyword.operator.module.all.js"
|
2447
|
-
},
|
2448
|
-
"2": {
|
2449
|
-
"name": "variable.other.readwrite.js"
|
2450
|
-
},
|
2451
|
-
"3": {
|
2452
|
-
"name": "keyword.control.module.reference.js"
|
2453
|
-
},
|
2454
|
-
"4": {
|
2455
|
-
"name": "keyword.control.module.js"
|
2456
|
-
},
|
2457
|
-
"5": {
|
2458
|
-
"name": "variable.other.readwrite.js"
|
2459
|
-
}
|
2460
|
-
}
|
2461
|
-
},
|
2462
|
-
"literal-module-brackets": {
|
2463
|
-
"patterns": [
|
2464
|
-
{
|
2465
|
-
"begin": "\\s*+(?:({)|(\\[))",
|
2466
|
-
"end": "\\s*(?:(\\})|(\\]))",
|
2467
|
-
"beginCaptures": {
|
2468
|
-
"1": {
|
2469
|
-
"name": "meta.brace.curly.js"
|
2470
|
-
},
|
2471
|
-
"2": {
|
2472
|
-
"name": "meta.brace.square.js"
|
2473
|
-
}
|
2474
|
-
},
|
2475
|
-
"endCaptures": {
|
2476
|
-
"1": {
|
2477
|
-
"name": "meta.brace.curly.js"
|
2478
|
-
},
|
2479
|
-
"2": {
|
2480
|
-
"name": "meta.brace.square.js"
|
2481
|
-
}
|
2482
|
-
},
|
2483
|
-
"patterns": [
|
2484
|
-
{
|
2485
|
-
"name": "keyword.operator.module.all.js",
|
2486
|
-
"match": "\\*"
|
2487
|
-
},
|
2488
|
-
{
|
2489
|
-
"include": "#literal-module-as"
|
2490
|
-
},
|
2491
|
-
{
|
2492
|
-
"include": "#literal-module-brackets"
|
2493
|
-
},
|
2494
|
-
{
|
2495
|
-
"include": "#literal-variable"
|
2496
|
-
},
|
2497
|
-
{
|
2498
|
-
"include": "#literal-string"
|
2499
|
-
},
|
2500
|
-
{
|
2501
|
-
"include": "#comments"
|
2502
|
-
},
|
2503
|
-
{
|
2504
|
-
"include": "#literal-comma"
|
2505
|
-
}
|
2506
|
-
]
|
2507
|
-
}
|
2508
|
-
]
|
2509
|
-
},
|
2510
|
-
"literal-variable": {
|
2152
|
+
"literal-variable": {
|
2511
2153
|
"patterns": [
|
2512
2154
|
{
|
2513
2155
|
"comment": "e.g. CONSTANT",
|
@@ -2614,24 +2256,11 @@
|
|
2614
2256
|
}
|
2615
2257
|
]
|
2616
2258
|
},
|
2617
|
-
"es7-function-bind": {
|
2618
|
-
"patterns": [
|
2619
|
-
{
|
2620
|
-
"comment": "https://github.com/zenparsing/es-function-bind#examples",
|
2621
|
-
"match": "\\s*(::)",
|
2622
|
-
"captures": {
|
2623
|
-
"1": {
|
2624
|
-
"name": "keyword.operator.accessor.js"
|
2625
|
-
}
|
2626
|
-
}
|
2627
|
-
}
|
2628
|
-
]
|
2629
|
-
},
|
2630
2259
|
"jsx": {
|
2631
2260
|
"comment": "Avoid < operator expressions as best we can using Zertosh's regex",
|
2632
2261
|
"patterns": [
|
2633
2262
|
{
|
2634
|
-
"begin": "(?<=\\(
|
2263
|
+
"begin": "(?<=\\(|\\{|\\[|,|&&|\\|\\||\\?|:|=|=>|\\Wreturn|^return|\\Wdefault|^)\\s*+(?=<[$_\\p{L}])",
|
2635
2264
|
"end": "(?=.)",
|
2636
2265
|
"applyEndPatternLast": 1,
|
2637
2266
|
"patterns": [
|
@@ -2647,7 +2276,6 @@
|
|
2647
2276
|
{
|
2648
2277
|
"comment": "Tags that end > are trapped in #jsx-tag-termination",
|
2649
2278
|
"name": "meta.tag.jsx",
|
2650
|
-
"contentName": "JSXAttrs",
|
2651
2279
|
"begin": "\\s*+(<)((\\p{Ll}[\\p{Ll}0-9]*)|((?:[$_\\p{L}\\p{Nl}][$_\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}-]*?:)?+(?:[$_\\p{L}\\p{Nl}](?:[$_\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}\\.-](?<!\\.\\.))*+)+))(?=[ />\\s])(?![:])(?<!\\.|:)",
|
2652
2280
|
"end": "\\s*(?<=</)((\\4)|\\2)(>)|(/>)|((?<=</)[\\S ]*?)>",
|
2653
2281
|
"beginCaptures": {
|
@@ -2693,7 +2321,6 @@
|
|
2693
2321
|
"patterns": [
|
2694
2322
|
{
|
2695
2323
|
"comment": "uses non consuming search for </ in </tag>",
|
2696
|
-
"contentName": "JSXNested",
|
2697
2324
|
"begin": "(>)",
|
2698
2325
|
"end": "(</)",
|
2699
2326
|
"beginCaptures": {
|
@@ -2823,52 +2450,32 @@
|
|
2823
2450
|
]
|
2824
2451
|
},
|
2825
2452
|
"jsx-evaluated-code": {
|
2453
|
+
"name": "meta.embedded.expression.js",
|
2454
|
+
"begin": "{",
|
2455
|
+
"end": "}",
|
2456
|
+
"beginCaptures": {
|
2457
|
+
"0": {
|
2458
|
+
"name": "punctuation.section.embedded.begin.jsx"
|
2459
|
+
}
|
2460
|
+
},
|
2461
|
+
"endCaptures": {
|
2462
|
+
"0": {
|
2463
|
+
"name": "punctuation.section.embedded.end.jsx"
|
2464
|
+
}
|
2465
|
+
},
|
2466
|
+
"contentName": "source.js.jsx",
|
2826
2467
|
"patterns": [
|
2827
2468
|
{
|
2828
|
-
"
|
2829
|
-
"contentName": "comment.embedded.jsx",
|
2830
|
-
"begin": "^\\s*({/\\*)",
|
2831
|
-
"end": "\\s*(\\*/})",
|
2832
|
-
"beginCaptures": {
|
2833
|
-
"1": {
|
2834
|
-
"name": "punctuation.section.embedded.begin.jsx"
|
2835
|
-
}
|
2836
|
-
},
|
2837
|
-
"endCaptures": {
|
2838
|
-
"1": {
|
2839
|
-
"name": "punctuation.section.embedded.end.jsx"
|
2840
|
-
}
|
2841
|
-
}
|
2469
|
+
"include": "#jsx-string-double-quoted"
|
2842
2470
|
},
|
2843
2471
|
{
|
2844
|
-
"
|
2845
|
-
|
2846
|
-
|
2847
|
-
"
|
2848
|
-
|
2849
|
-
|
2850
|
-
|
2851
|
-
}
|
2852
|
-
},
|
2853
|
-
"endCaptures": {
|
2854
|
-
"0": {
|
2855
|
-
"name": "punctuation.section.embedded.end.jsx"
|
2856
|
-
}
|
2857
|
-
},
|
2858
|
-
"patterns": [
|
2859
|
-
{
|
2860
|
-
"include": "#jsx-string-double-quoted"
|
2861
|
-
},
|
2862
|
-
{
|
2863
|
-
"include": "#jsx-string-single-quoted"
|
2864
|
-
},
|
2865
|
-
{
|
2866
|
-
"include": "#jsx-spread-attribute"
|
2867
|
-
},
|
2868
|
-
{
|
2869
|
-
"include": "#expression"
|
2870
|
-
}
|
2871
|
-
]
|
2472
|
+
"include": "#jsx-string-single-quoted"
|
2473
|
+
},
|
2474
|
+
{
|
2475
|
+
"include": "#jsx-spread-attribute"
|
2476
|
+
},
|
2477
|
+
{
|
2478
|
+
"include": "#expression"
|
2872
2479
|
}
|
2873
2480
|
]
|
2874
2481
|
},
|
@@ -2928,32 +2535,10 @@
|
|
2928
2535
|
}
|
2929
2536
|
},
|
2930
2537
|
"patterns": [
|
2931
|
-
{
|
2932
|
-
"include": "#flowtype-predicate"
|
2933
|
-
},
|
2934
2538
|
{
|
2935
2539
|
"include": "#flowtype-parse-types"
|
2936
2540
|
}
|
2937
2541
|
]
|
2938
|
-
},
|
2939
|
-
{
|
2940
|
-
"include": "#flowtype-predicate"
|
2941
|
-
}
|
2942
|
-
]
|
2943
|
-
},
|
2944
|
-
"flowtype-predicate": {
|
2945
|
-
"comment": "flow predicate checks",
|
2946
|
-
"begin": "\\s*\\b(checks)\\b(?=(\\s*(\\((?:(?>[^()]+)|\\g<-1>)*\\))?)?\\s*(=>|{|;|$))",
|
2947
|
-
"end": "(?=.)",
|
2948
|
-
"applyEndPatternLast": 1,
|
2949
|
-
"beginCaptures": {
|
2950
|
-
"1": {
|
2951
|
-
"name": "entity.name.function.predicate.flowtype"
|
2952
|
-
}
|
2953
|
-
},
|
2954
|
-
"patterns": [
|
2955
|
-
{
|
2956
|
-
"include": "#round-brackets"
|
2957
2542
|
}
|
2958
2543
|
]
|
2959
2544
|
},
|
@@ -2961,7 +2546,7 @@
|
|
2961
2546
|
"patterns": [
|
2962
2547
|
{
|
2963
2548
|
"comment": "e.g. let a: ()=>null = function() {return null}",
|
2964
|
-
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)\\s*+(\\??)\\s*+(?=:\\s*(
|
2549
|
+
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)\\s*+(\\??)\\s*+(?=:\\s*(\\bFunction\\b|(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*=>|\\(\\s*$))",
|
2965
2550
|
"captures": {
|
2966
2551
|
"1": {
|
2967
2552
|
"name": "storage.type.function.js"
|
@@ -2995,30 +2580,18 @@
|
|
2995
2580
|
"patterns": [
|
2996
2581
|
{
|
2997
2582
|
"comment": "flowtype optional arg/parameter e.g. protocol? : string",
|
2998
|
-
"
|
2999
|
-
"
|
3000
|
-
"1": {
|
3001
|
-
"name": "punctuation.type.flowtype"
|
3002
|
-
}
|
3003
|
-
}
|
2583
|
+
"name": "punctuation.type.flowtype",
|
2584
|
+
"match": "\\s*+\\?"
|
3004
2585
|
},
|
3005
2586
|
{
|
3006
2587
|
"comment": "Type Unions |",
|
3007
|
-
"
|
3008
|
-
"
|
3009
|
-
"1": {
|
3010
|
-
"name": "kewyword.operator.union.flowtype"
|
3011
|
-
}
|
3012
|
-
}
|
2588
|
+
"name": "kewyword.operator.union.flowtype",
|
2589
|
+
"match": "\\s*+\\|"
|
3013
2590
|
},
|
3014
2591
|
{
|
3015
2592
|
"comment": "intersection of types &",
|
3016
|
-
"
|
3017
|
-
"
|
3018
|
-
"1": {
|
3019
|
-
"name": "kewyword.operator.intersection.flowtype"
|
3020
|
-
}
|
3021
|
-
}
|
2593
|
+
"name": "kewyword.operator.intersection.flowtype",
|
2594
|
+
"match": "\\s*+\\&"
|
3022
2595
|
},
|
3023
2596
|
{
|
3024
2597
|
"comment": "typed entity :",
|
@@ -3041,7 +2614,7 @@
|
|
3041
2614
|
},
|
3042
2615
|
{
|
3043
2616
|
"comment": "An Iterator prefix?",
|
3044
|
-
"match": "\\s
|
2617
|
+
"match": "\\s*+@@"
|
3045
2618
|
},
|
3046
2619
|
{
|
3047
2620
|
"begin": "\\s*+(=>)",
|
@@ -3083,20 +2656,12 @@
|
|
3083
2656
|
"patterns": [
|
3084
2657
|
{
|
3085
2658
|
"comment": "Maybe types",
|
3086
|
-
"
|
3087
|
-
"
|
3088
|
-
"1": {
|
3089
|
-
"name": "keyword.operator.maybe.flowtype"
|
3090
|
-
}
|
3091
|
-
}
|
2659
|
+
"name": "keyword.operator.maybe.flowtype",
|
2660
|
+
"match": "\\s*+\\?"
|
3092
2661
|
},
|
3093
2662
|
{
|
3094
|
-
"
|
3095
|
-
"
|
3096
|
-
"1": {
|
3097
|
-
"name": "keyword.operator.flowtype"
|
3098
|
-
}
|
3099
|
-
}
|
2663
|
+
"name": "keyword.operator.flowtype",
|
2664
|
+
"match": "\\s*+\\btypeof\\b\\s*+"
|
3100
2665
|
},
|
3101
2666
|
{
|
3102
2667
|
"comment": "primitive flowtypes",
|
@@ -3139,40 +2704,23 @@
|
|
3139
2704
|
},
|
3140
2705
|
{
|
3141
2706
|
"comment": "Type Unions |",
|
3142
|
-
"
|
3143
|
-
"
|
3144
|
-
"1": {
|
3145
|
-
"name": "kewyword.operator.union.flowtype"
|
3146
|
-
}
|
3147
|
-
}
|
2707
|
+
"name": "kewyword.operator.union.flowtype",
|
2708
|
+
"match": "\\s*+\\|"
|
3148
2709
|
},
|
3149
2710
|
{
|
3150
2711
|
"comment": "intersection of types &",
|
3151
|
-
"
|
3152
|
-
"
|
3153
|
-
"1": {
|
3154
|
-
"name": "kewyword.operator.intersection.flowtype"
|
3155
|
-
}
|
3156
|
-
}
|
2712
|
+
"name": "kewyword.operator.intersection.flowtype",
|
2713
|
+
"match": "\\s*+\\&"
|
3157
2714
|
},
|
3158
2715
|
{
|
3159
2716
|
"comment": "as per React declares in flowtype github",
|
3160
|
-
"
|
3161
|
-
"
|
3162
|
-
"1": {
|
3163
|
-
"name": "kewyword.operator.existential.flowtype"
|
3164
|
-
}
|
3165
|
-
}
|
2717
|
+
"name": "kewyword.operator.existential.flowtype",
|
2718
|
+
"match": "\\s*+\\*"
|
3166
2719
|
},
|
3167
2720
|
{
|
3168
2721
|
"comment": "types of type marker e.g. <T: number | string>",
|
3169
2722
|
"name": "punctuation.type.flowtype",
|
3170
|
-
"match": "\\s*+(:)"
|
3171
|
-
"captures": {
|
3172
|
-
"1": {
|
3173
|
-
"name": "support.type.builtin.primitive.flowtype"
|
3174
|
-
}
|
3175
|
-
}
|
2723
|
+
"match": "\\s*+(:)"
|
3176
2724
|
},
|
3177
2725
|
{
|
3178
2726
|
"comment": "call back with a form ) => type",
|
@@ -3220,9 +2768,6 @@
|
|
3220
2768
|
}
|
3221
2769
|
},
|
3222
2770
|
"patterns": [
|
3223
|
-
{
|
3224
|
-
"include": "#flowtype-polymorphs"
|
3225
|
-
},
|
3226
2771
|
{
|
3227
2772
|
"include": "#flowtype-variable"
|
3228
2773
|
}
|
@@ -3302,7 +2847,7 @@
|
|
3302
2847
|
},
|
3303
2848
|
"flowtype-parse-objects": {
|
3304
2849
|
"comment": "object literal flowtype preceded by either => : | & ? symbols",
|
3305
|
-
"begin": "(?<=:|\\||&|\\?|=>|<)\\s*+({)",
|
2850
|
+
"begin": "(?<=:|\\||&|\\?|=>|<)\\s*+(\\{)",
|
3306
2851
|
"end": "\\s*(\\})",
|
3307
2852
|
"applyEndPatternLast": 1,
|
3308
2853
|
"beginCaptures": {
|
@@ -3324,13 +2869,19 @@
|
|
3324
2869
|
"flowtype-object-property": {
|
3325
2870
|
"patterns": [
|
3326
2871
|
{
|
3327
|
-
"
|
3328
|
-
|
3329
|
-
|
3330
|
-
|
2872
|
+
"comment": "name of property which can be a string",
|
2873
|
+
"match": "\\s*+(((\"|').*?(?<=[^\\\\])\\k<-1>)|([$_\\p{L}](?:[$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+))\\s*+(\\??)\\s*+(?=:)",
|
2874
|
+
"captures": {
|
2875
|
+
"1": {
|
2876
|
+
"name": "variable.other.property.flowtype"
|
2877
|
+
},
|
2878
|
+
"5": {
|
2879
|
+
"name": "keyword.operator.optional.parameter.flowtype"
|
2880
|
+
}
|
2881
|
+
}
|
3331
2882
|
},
|
3332
2883
|
{
|
3333
|
-
"include": "#flowtype-
|
2884
|
+
"include": "#flowtype-vars-and-props"
|
3334
2885
|
}
|
3335
2886
|
]
|
3336
2887
|
},
|
@@ -3358,10 +2909,13 @@
|
|
3358
2909
|
"patterns": [
|
3359
2910
|
{
|
3360
2911
|
"comment": "type aliases for export but avoid type instaceof or type in operators",
|
3361
|
-
"begin": "(
|
3362
|
-
"end": "\\s*(
|
2912
|
+
"begin": "\\s*+(?:\\b(import|export))?\\b\\s*(type)\\b\\s*(?!(instanceof|in)\\b)(?=[$_A-Za-z{\\[])",
|
2913
|
+
"end": "\\s*(\\;)|\\b(?=if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b",
|
3363
2914
|
"beginCaptures": {
|
3364
2915
|
"1": {
|
2916
|
+
"name": "keyword.control.module.js"
|
2917
|
+
},
|
2918
|
+
"2": {
|
3365
2919
|
"name": "keyword.other.typedef.flowtype"
|
3366
2920
|
}
|
3367
2921
|
},
|
@@ -3375,17 +2929,31 @@
|
|
3375
2929
|
"match": "\\s*+="
|
3376
2930
|
},
|
3377
2931
|
{
|
3378
|
-
"begin": "\\s*+
|
3379
|
-
"end": "\\s*
|
2932
|
+
"begin": "\\s*+{",
|
2933
|
+
"end": "\\s*}",
|
3380
2934
|
"applyEndPatternLast": 1,
|
3381
|
-
"
|
3382
|
-
"
|
2935
|
+
"beginCaptures": {
|
2936
|
+
"0": {
|
2937
|
+
"name": "meta.brace.curly.js"
|
2938
|
+
}
|
2939
|
+
},
|
2940
|
+
"endCaptures": {
|
2941
|
+
"0": {
|
3383
2942
|
"name": "meta.brace.curly.js"
|
3384
2943
|
}
|
3385
2944
|
},
|
3386
2945
|
"patterns": [
|
3387
2946
|
{
|
3388
|
-
"include": "#flowtype
|
2947
|
+
"include": "#flowtype"
|
2948
|
+
},
|
2949
|
+
{
|
2950
|
+
"include": "#flowtype-variable"
|
2951
|
+
},
|
2952
|
+
{
|
2953
|
+
"include": "#comments"
|
2954
|
+
},
|
2955
|
+
{
|
2956
|
+
"include": "#flowtype-function-name"
|
3389
2957
|
}
|
3390
2958
|
]
|
3391
2959
|
},
|
@@ -3423,11 +2991,11 @@
|
|
3423
2991
|
"include": "#flowtype-polymorphs"
|
3424
2992
|
},
|
3425
2993
|
{
|
3426
|
-
"begin": "\\s*+
|
2994
|
+
"begin": "\\s*+{",
|
3427
2995
|
"end": "\\s*(})",
|
3428
2996
|
"contentName": "meta.class.body.js",
|
3429
2997
|
"beginCaptures": {
|
3430
|
-
"
|
2998
|
+
"0": {
|
3431
2999
|
"name": "punctuation.section.class.begin.js"
|
3432
3000
|
}
|
3433
3001
|
},
|
@@ -3450,7 +3018,7 @@
|
|
3450
3018
|
"flowtype-declare": {
|
3451
3019
|
"patterns": [
|
3452
3020
|
{
|
3453
|
-
"match": "\\s*+(?<!\\.)\\b(declare)(?=\\
|
3021
|
+
"match": "\\s*+(?<!\\.)\\b(declare)\\b\\s++(?=\\b(function|var|type|interface)\\s++)",
|
3454
3022
|
"captures": {
|
3455
3023
|
"1": {
|
3456
3024
|
"name": "keyword.other.declare.flowtype"
|
@@ -3480,9 +3048,6 @@
|
|
3480
3048
|
}
|
3481
3049
|
},
|
3482
3050
|
"patterns": [
|
3483
|
-
{
|
3484
|
-
"include": "#flowtype-parse-objects"
|
3485
|
-
},
|
3486
3051
|
{
|
3487
3052
|
"include": "#flowtype-parse-types"
|
3488
3053
|
}
|
@@ -3507,11 +3072,7 @@
|
|
3507
3072
|
{
|
3508
3073
|
"comment": "look for module names but dont assume uppercase start char",
|
3509
3074
|
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)",
|
3510
|
-
"
|
3511
|
-
"1": {
|
3512
|
-
"name": "entity.name.class.js"
|
3513
|
-
}
|
3514
|
-
}
|
3075
|
+
"name": "entity.name.class.js"
|
3515
3076
|
},
|
3516
3077
|
{
|
3517
3078
|
"comment": "look for module names in quoted string forms",
|
@@ -3589,18 +3150,14 @@
|
|
3589
3150
|
"name": "entity.name.class.js"
|
3590
3151
|
},
|
3591
3152
|
{
|
3592
|
-
"include": "#literal-
|
3153
|
+
"include": "#literal-coma"
|
3593
3154
|
}
|
3594
3155
|
]
|
3595
3156
|
},
|
3596
3157
|
{
|
3597
3158
|
"comment": "look for class names but dont assume uppercase start char",
|
3598
3159
|
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)",
|
3599
|
-
"
|
3600
|
-
"1": {
|
3601
|
-
"name": "entity.name.class.js"
|
3602
|
-
}
|
3603
|
-
}
|
3160
|
+
"name": "entity.name.class.js"
|
3604
3161
|
},
|
3605
3162
|
{
|
3606
3163
|
"begin": "\\s*+({)",
|
@@ -3667,7 +3224,7 @@
|
|
3667
3224
|
"flowtype-typecast": {
|
3668
3225
|
"patterns": [
|
3669
3226
|
{
|
3670
|
-
"begin": "\\s
|
3227
|
+
"begin": "\\s*+:",
|
3671
3228
|
"end": "(?=\\s*+\\))",
|
3672
3229
|
"patterns": [
|
3673
3230
|
{
|
@@ -3677,106 +3234,6 @@
|
|
3677
3234
|
}
|
3678
3235
|
]
|
3679
3236
|
},
|
3680
|
-
"flowtype-comments": {
|
3681
|
-
"patterns": [
|
3682
|
-
{
|
3683
|
-
"begin": "\\s*+(/\\*)\\s*(::)",
|
3684
|
-
"end": "\\s*(\\*/)",
|
3685
|
-
"beginCaptures": {
|
3686
|
-
"1": {
|
3687
|
-
"name": "punctuation.definition.comment.js"
|
3688
|
-
},
|
3689
|
-
"2": {
|
3690
|
-
"name": "punctuation.type.flowtype"
|
3691
|
-
}
|
3692
|
-
},
|
3693
|
-
"endCaptures": {
|
3694
|
-
"1": {
|
3695
|
-
"name": "punctuation.definition.comment.js"
|
3696
|
-
}
|
3697
|
-
},
|
3698
|
-
"patterns": [
|
3699
|
-
{
|
3700
|
-
"include": "#flowtype-comments-optional-parameter"
|
3701
|
-
},
|
3702
|
-
{
|
3703
|
-
"include": "#literal-module"
|
3704
|
-
},
|
3705
|
-
{
|
3706
|
-
"include": "#flowtype-keywords"
|
3707
|
-
},
|
3708
|
-
{
|
3709
|
-
"include": "#flowtype-parse-types"
|
3710
|
-
}
|
3711
|
-
]
|
3712
|
-
},
|
3713
|
-
{
|
3714
|
-
"begin": "\\s*+(/\\*)\\s*(flow-include)\\b",
|
3715
|
-
"end": "\\s*(\\*/)",
|
3716
|
-
"beginCaptures": {
|
3717
|
-
"1": {
|
3718
|
-
"name": "punctuation.definition.comment.js"
|
3719
|
-
},
|
3720
|
-
"2": {
|
3721
|
-
"name": "punctuation.definition.variable.flowtype"
|
3722
|
-
}
|
3723
|
-
},
|
3724
|
-
"endCaptures": {
|
3725
|
-
"1": {
|
3726
|
-
"name": "punctuation.definition.comment.js"
|
3727
|
-
}
|
3728
|
-
},
|
3729
|
-
"patterns": [
|
3730
|
-
{
|
3731
|
-
"include": "#flowtype-comments-optional-parameter"
|
3732
|
-
},
|
3733
|
-
{
|
3734
|
-
"include": "#literal-module"
|
3735
|
-
},
|
3736
|
-
{
|
3737
|
-
"include": "#flowtype-keywords"
|
3738
|
-
},
|
3739
|
-
{
|
3740
|
-
"include": "#flowtype-parse-types"
|
3741
|
-
}
|
3742
|
-
]
|
3743
|
-
},
|
3744
|
-
{
|
3745
|
-
"begin": "\\s*+(/\\*)\\s*(:)",
|
3746
|
-
"end": "\\s*(\\*/)",
|
3747
|
-
"beginCaptures": {
|
3748
|
-
"1": {
|
3749
|
-
"name": "punctuation.definition.comment.js"
|
3750
|
-
},
|
3751
|
-
"2": {
|
3752
|
-
"name": "punctuation.type.flowtype"
|
3753
|
-
}
|
3754
|
-
},
|
3755
|
-
"endCaptures": {
|
3756
|
-
"1": {
|
3757
|
-
"name": "punctuation.definition.comment.js"
|
3758
|
-
}
|
3759
|
-
},
|
3760
|
-
"patterns": [
|
3761
|
-
{
|
3762
|
-
"include": "#flowtype-parse-types"
|
3763
|
-
}
|
3764
|
-
]
|
3765
|
-
}
|
3766
|
-
]
|
3767
|
-
},
|
3768
|
-
"flowtype-comments-optional-parameter": {
|
3769
|
-
"patterns": [
|
3770
|
-
{
|
3771
|
-
"match": "(?<=::|flow-include)\\s*(\\?)",
|
3772
|
-
"captures": {
|
3773
|
-
"1": {
|
3774
|
-
"name": "keyword.operator.optional.parameter.flowtype"
|
3775
|
-
}
|
3776
|
-
}
|
3777
|
-
}
|
3778
|
-
]
|
3779
|
-
},
|
3780
3237
|
"miscellaneous": {
|
3781
3238
|
"comment": "trap miscellaneous stuff",
|
3782
3239
|
"patterns": [
|
@@ -3790,55 +3247,6 @@
|
|
3790
3247
|
}
|
3791
3248
|
}
|
3792
3249
|
]
|
3793
|
-
},
|
3794
|
-
"html-template": {
|
3795
|
-
"comment": "Assume object properties of template: `some html` contain html",
|
3796
|
-
"begin": "(?:(?:^|(?<=,|{))\\s*\\b((template))\\b\\s*(:)\\s*(`))",
|
3797
|
-
"end": "\\s*(`)",
|
3798
|
-
"beginCaptures": {
|
3799
|
-
"1": {
|
3800
|
-
"name": "constant.other.object.key.js"
|
3801
|
-
},
|
3802
|
-
"2": {
|
3803
|
-
"name": "string.unquoted.js"
|
3804
|
-
},
|
3805
|
-
"3": {
|
3806
|
-
"name": "punctuation.separator.key-value.js"
|
3807
|
-
},
|
3808
|
-
"4": {
|
3809
|
-
"name": "punctuation.definition.quasi.begin.js"
|
3810
|
-
}
|
3811
|
-
},
|
3812
|
-
"endCaptures": {
|
3813
|
-
"1": {
|
3814
|
-
"name": "punctuation.definition.quasi.end.js"
|
3815
|
-
}
|
3816
|
-
},
|
3817
|
-
"patterns": [
|
3818
|
-
{
|
3819
|
-
"name": "entity.quasi.element.js",
|
3820
|
-
"begin": "(?<!\\\\)\\${",
|
3821
|
-
"end": "\\s*}",
|
3822
|
-
"beginCaptures": {
|
3823
|
-
"0": {
|
3824
|
-
"name": "punctuation.quasi.element.begin.js"
|
3825
|
-
}
|
3826
|
-
},
|
3827
|
-
"endCaptures": {
|
3828
|
-
"0": {
|
3829
|
-
"name": "punctuation.quasi.element.end.js"
|
3830
|
-
}
|
3831
|
-
},
|
3832
|
-
"patterns": [
|
3833
|
-
{
|
3834
|
-
"include": "#expression"
|
3835
|
-
}
|
3836
|
-
]
|
3837
|
-
},
|
3838
|
-
{
|
3839
|
-
"include": "text.html.mustache"
|
3840
|
-
}
|
3841
|
-
]
|
3842
3250
|
}
|
3843
3251
|
}
|
3844
3252
|
}
|