github-linguist 5.0.0 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/git-linguist +10 -2
- data/bin/linguist +26 -9
- data/grammars/config.xcompose.json +83 -0
- data/grammars/hint.haskell.json +21 -30
- data/grammars/hint.message.haskell.json +21 -30
- data/grammars/hint.type.haskell.json +21 -30
- data/grammars/source.bsl.json +42 -28
- data/grammars/source.cs.json +656 -131
- data/grammars/source.csound-document.json +142 -25
- data/grammars/source.csound-score.json +13 -10
- data/grammars/source.csound.json +136 -81
- data/grammars/source.css.json +1501 -331
- data/grammars/source.css.less.json +3 -3
- data/grammars/source.d.json +60 -44
- data/grammars/source.gn.json +240 -138
- data/grammars/source.graphql.json +781 -155
- data/grammars/source.haskell.json +21 -30
- data/grammars/source.js.json +46 -46
- data/grammars/source.mask.json +1 -1
- data/grammars/source.perl6fe.json +1151 -763
- data/grammars/source.python.json +45 -23
- data/grammars/source.quoting.perl6fe.json +2170 -0
- data/grammars/source.reason.json +296 -0
- data/grammars/source.regexp.perl6fe.json +27 -0
- data/grammars/source.rust.json +522 -125
- data/grammars/source.sdbl.json +2 -2
- data/grammars/source.shell.json +125 -161
- data/grammars/source.solidity.json +137 -0
- data/grammars/source.ts.json +385 -137
- data/grammars/source.tsx.json +394 -167
- data/grammars/source.yaml.json +176 -171
- data/grammars/text.html.php.blade.json +2 -2
- data/grammars/text.tex.latex.haskell.json +1 -10
- data/lib/linguist/generated.rb +50 -4
- data/lib/linguist/heuristics.rb +1 -1
- data/lib/linguist/language.rb +12 -8
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +38 -1
- data/lib/linguist/samples.json +4605 -581
- data/lib/linguist/vendor.yml +6 -0
- data/lib/linguist/version.rb +1 -1
- metadata +10 -7
- data/grammars/source.hy.json +0 -270
data/grammars/source.tsx.json
CHANGED
@@ -6,8 +6,20 @@
|
|
6
6
|
],
|
7
7
|
"uuid": "805375ec-d614-41f5-8993-5843fe63ea82",
|
8
8
|
"patterns": [
|
9
|
+
{
|
10
|
+
"include": "#directives"
|
11
|
+
},
|
9
12
|
{
|
10
13
|
"include": "#statements"
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"name": "comment.line.shebang.ts",
|
17
|
+
"match": "\\A(#!).*(?=$)",
|
18
|
+
"captures": {
|
19
|
+
"1": {
|
20
|
+
"name": "punctuation.definition.comment.ts"
|
21
|
+
}
|
22
|
+
}
|
11
23
|
}
|
12
24
|
],
|
13
25
|
"repository": {
|
@@ -16,9 +28,6 @@
|
|
16
28
|
{
|
17
29
|
"include": "#string"
|
18
30
|
},
|
19
|
-
{
|
20
|
-
"include": "#regex"
|
21
|
-
},
|
22
31
|
{
|
23
32
|
"include": "#template"
|
24
33
|
},
|
@@ -85,23 +94,58 @@
|
|
85
94
|
]
|
86
95
|
},
|
87
96
|
"var-single-variable": {
|
88
|
-
"name": "meta.var-single-variable.expr.tsx",
|
89
|
-
"begin": "([_$[:alpha:]][_$[:alnum:]]*)",
|
90
|
-
"beginCaptures": {
|
91
|
-
"1": {
|
92
|
-
"name": "meta.definition.variable.tsx variable.other.readwrite.tsx"
|
93
|
-
}
|
94
|
-
},
|
95
|
-
"end": "(?=$|[;,=}]|(\\s+(of|in)\\s+))",
|
96
97
|
"patterns": [
|
97
98
|
{
|
98
|
-
"
|
99
|
+
"name": "meta.var-single-variable.expr.tsx",
|
100
|
+
"begin": "(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*\n (=\\s*(\n (async\\s+) |\n (function\\s*[(<]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=>) |\n ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>))\n ) |\n (:\\s*(\n (<) |\n ([(]\\s*(\n ([)]) |\n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=>)\n ))\n )))\n )\n)",
|
101
|
+
"beginCaptures": {
|
102
|
+
"1": {
|
103
|
+
"name": "meta.definition.variable.tsx entity.name.function.tsx"
|
104
|
+
}
|
105
|
+
},
|
106
|
+
"end": "(?=$|[;,=}]|(\\s+(of|in)\\s+))",
|
107
|
+
"patterns": [
|
108
|
+
{
|
109
|
+
"include": "#type-annotation"
|
110
|
+
},
|
111
|
+
{
|
112
|
+
"include": "#string"
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"include": "#comment"
|
116
|
+
}
|
117
|
+
]
|
99
118
|
},
|
100
119
|
{
|
101
|
-
"
|
120
|
+
"name": "meta.var-single-variable.expr.tsx",
|
121
|
+
"begin": "([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])",
|
122
|
+
"beginCaptures": {
|
123
|
+
"1": {
|
124
|
+
"name": "meta.definition.variable.tsx variable.other.constant.tsx"
|
125
|
+
}
|
126
|
+
},
|
127
|
+
"end": "(?=$|[;,=}]|(\\s+(of|in)\\s+))"
|
102
128
|
},
|
103
129
|
{
|
104
|
-
"
|
130
|
+
"name": "meta.var-single-variable.expr.tsx",
|
131
|
+
"begin": "([_$[:alpha:]][_$[:alnum:]]*)",
|
132
|
+
"beginCaptures": {
|
133
|
+
"1": {
|
134
|
+
"name": "meta.definition.variable.tsx variable.other.readwrite.tsx"
|
135
|
+
}
|
136
|
+
},
|
137
|
+
"end": "(?=$|[;,=}]|(\\s+(of|in)\\s+))",
|
138
|
+
"patterns": [
|
139
|
+
{
|
140
|
+
"include": "#type-annotation"
|
141
|
+
},
|
142
|
+
{
|
143
|
+
"include": "#string"
|
144
|
+
},
|
145
|
+
{
|
146
|
+
"include": "#comment"
|
147
|
+
}
|
148
|
+
]
|
105
149
|
}
|
106
150
|
]
|
107
151
|
},
|
@@ -147,29 +191,14 @@
|
|
147
191
|
"include": "#comment"
|
148
192
|
},
|
149
193
|
{
|
150
|
-
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(:)",
|
151
|
-
"beginCaptures": {
|
152
|
-
"1": {
|
153
|
-
"name": "variable.object.property.tsx"
|
154
|
-
},
|
155
|
-
"2": {
|
156
|
-
"name": "punctuation.destructuring.tsx"
|
157
|
-
}
|
158
|
-
},
|
194
|
+
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",
|
159
195
|
"end": "(?=,|\\})",
|
160
196
|
"patterns": [
|
161
197
|
{
|
162
|
-
"include": "#object-binding-
|
163
|
-
},
|
164
|
-
{
|
165
|
-
"include": "#array-binding-pattern"
|
166
|
-
},
|
167
|
-
{
|
168
|
-
"name": "meta.definition.variable.tsx variable.other.readwrite.tsx",
|
169
|
-
"match": "([_$[:alpha:]][_$[:alnum:]]*)"
|
198
|
+
"include": "#object-binding-element-propertyName"
|
170
199
|
},
|
171
200
|
{
|
172
|
-
"include": "#
|
201
|
+
"include": "#binding-element"
|
173
202
|
}
|
174
203
|
]
|
175
204
|
},
|
@@ -187,7 +216,28 @@
|
|
187
216
|
}
|
188
217
|
]
|
189
218
|
},
|
190
|
-
"
|
219
|
+
"object-binding-element-propertyName": {
|
220
|
+
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",
|
221
|
+
"end": "(:)",
|
222
|
+
"endCaptures": {
|
223
|
+
"0": {
|
224
|
+
"name": "punctuation.destructuring.tsx"
|
225
|
+
}
|
226
|
+
},
|
227
|
+
"patterns": [
|
228
|
+
{
|
229
|
+
"include": "#string"
|
230
|
+
},
|
231
|
+
{
|
232
|
+
"include": "#array-literal"
|
233
|
+
},
|
234
|
+
{
|
235
|
+
"name": "variable.object.property.tsx",
|
236
|
+
"match": "([_$[:alpha:]][_$[:alnum:]]*)"
|
237
|
+
}
|
238
|
+
]
|
239
|
+
},
|
240
|
+
"binding-element": {
|
191
241
|
"patterns": [
|
192
242
|
{
|
193
243
|
"include": "#comment"
|
@@ -203,9 +253,6 @@
|
|
203
253
|
},
|
204
254
|
{
|
205
255
|
"include": "#variable-initializer"
|
206
|
-
},
|
207
|
-
{
|
208
|
-
"include": "#punctuation-comma"
|
209
256
|
}
|
210
257
|
]
|
211
258
|
},
|
@@ -260,23 +307,14 @@
|
|
260
307
|
},
|
261
308
|
"patterns": [
|
262
309
|
{
|
263
|
-
"include": "#
|
264
|
-
}
|
265
|
-
]
|
266
|
-
},
|
267
|
-
"ternary-expression": {
|
268
|
-
"begin": "(?=\\?)",
|
269
|
-
"end": "(?=$|[;,})\\]])",
|
270
|
-
"patterns": [
|
271
|
-
{
|
272
|
-
"include": "#ternary-operator"
|
310
|
+
"include": "#binding-element"
|
273
311
|
},
|
274
312
|
{
|
275
|
-
"include": "#
|
313
|
+
"include": "#punctuation-comma"
|
276
314
|
}
|
277
315
|
]
|
278
316
|
},
|
279
|
-
"ternary-
|
317
|
+
"ternary-expression": {
|
280
318
|
"begin": "(\\?)",
|
281
319
|
"beginCaptures": {
|
282
320
|
"0": {
|
@@ -341,10 +379,10 @@
|
|
341
379
|
"include": "#expression-operators"
|
342
380
|
},
|
343
381
|
{
|
344
|
-
"include": "#
|
382
|
+
"include": "#function-call"
|
345
383
|
},
|
346
384
|
{
|
347
|
-
"include": "#
|
385
|
+
"include": "#support-objects"
|
348
386
|
},
|
349
387
|
{
|
350
388
|
"include": "#identifiers"
|
@@ -549,12 +587,15 @@
|
|
549
587
|
]
|
550
588
|
},
|
551
589
|
{
|
552
|
-
"begin": "(?=(
|
590
|
+
"begin": "(?=((\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))",
|
553
591
|
"end": "(?=,|\\}|$)",
|
554
592
|
"patterns": [
|
555
593
|
{
|
556
594
|
"include": "#string"
|
557
595
|
},
|
596
|
+
{
|
597
|
+
"include": "#array-literal"
|
598
|
+
},
|
558
599
|
{
|
559
600
|
"include": "#comment"
|
560
601
|
},
|
@@ -594,8 +635,7 @@
|
|
594
635
|
"match": "([_$[:alpha:]][_$[:alnum:]]*)"
|
595
636
|
},
|
596
637
|
{
|
597
|
-
"
|
598
|
-
"match": "\\."
|
638
|
+
"include": "#punctuation-accessor"
|
599
639
|
}
|
600
640
|
]
|
601
641
|
},
|
@@ -802,7 +842,7 @@
|
|
802
842
|
},
|
803
843
|
{
|
804
844
|
"comment": "(default|*|name) as alias",
|
805
|
-
"match": "(?x) (?: \\b(default)\\b | (\\*) | ([_$[:alpha:]][_$[:alnum:]]*)) \\s+ (as) \\s+ (?: (\\b default \\b | \\*) | ([_$[:alpha:]][_$[:alnum:]]*))",
|
845
|
+
"match": "(?x) (?: \\b(default)\\b | (\\*) | ([_$[:alpha:]][_$[:alnum:]]*)) \\s+ \n (as) \\s+ (?: (\\b default \\b | \\*) | ([_$[:alpha:]][_$[:alnum:]]*))",
|
806
846
|
"captures": {
|
807
847
|
"1": {
|
808
848
|
"name": "keyword.control.default.tsx"
|
@@ -911,7 +951,7 @@
|
|
911
951
|
"include": "#type-parameters"
|
912
952
|
},
|
913
953
|
{
|
914
|
-
"match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)",
|
954
|
+
"match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)(?=\\s*[_$[:alpha:]][_$[:alnum:]]*(\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)*\\s*([,<{]|extends|implements|//|/\\*))",
|
915
955
|
"captures": {
|
916
956
|
"1": {
|
917
957
|
"name": "entity.name.type.module.tsx"
|
@@ -922,12 +962,15 @@
|
|
922
962
|
}
|
923
963
|
},
|
924
964
|
{
|
925
|
-
"match": "([_$[:alpha:]][_$[:alnum:]]*)",
|
965
|
+
"match": "([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*([,<{]|extends|implements|//|/\\*))",
|
926
966
|
"captures": {
|
927
967
|
"1": {
|
928
968
|
"name": "entity.other.inherited-class.tsx"
|
929
969
|
}
|
930
970
|
}
|
971
|
+
},
|
972
|
+
{
|
973
|
+
"include": "#expression"
|
931
974
|
}
|
932
975
|
]
|
933
976
|
},
|
@@ -1017,6 +1060,9 @@
|
|
1017
1060
|
{
|
1018
1061
|
"include": "#indexer-declaration"
|
1019
1062
|
},
|
1063
|
+
{
|
1064
|
+
"include": "#indexer-mapped-type-declaration"
|
1065
|
+
},
|
1020
1066
|
{
|
1021
1067
|
"include": "#field-declaration"
|
1022
1068
|
},
|
@@ -1042,12 +1088,15 @@
|
|
1042
1088
|
},
|
1043
1089
|
{
|
1044
1090
|
"include": "#punctuation-semicolon"
|
1091
|
+
},
|
1092
|
+
{
|
1093
|
+
"include": "#type"
|
1045
1094
|
}
|
1046
1095
|
]
|
1047
1096
|
},
|
1048
1097
|
"field-declaration": {
|
1049
1098
|
"name": "meta.field.declaration.tsx",
|
1050
|
-
"begin": "(?<!\\()(?:(?<!\\.|\\$)\\b(readonly)\\s+)?(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[[^\\]]*\\]))\\s*(\\?\\s*)?(=|:))",
|
1099
|
+
"begin": "(?<!\\()(?:(?<!\\.|\\$)\\b(readonly)\\s+)?(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\?\\s*)?(=|:))",
|
1051
1100
|
"beginCaptures": {
|
1052
1101
|
"1": {
|
1053
1102
|
"name": "storage.modifier.tsx"
|
@@ -1059,7 +1108,7 @@
|
|
1059
1108
|
"include": "#variable-initializer"
|
1060
1109
|
},
|
1061
1110
|
{
|
1062
|
-
"begin": "(?=((?:[_$[:alpha:]][_$[:alnum:]]*)|(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(\\[[^\\]]*\\]))\\s*(\\?\\s*)?(=|:))",
|
1111
|
+
"begin": "(?=((?:[_$[:alpha:]][_$[:alnum:]]*)|(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\?\\s*)?(=|:))",
|
1063
1112
|
"end": "(?=[};,=]|$)|(?<=\\})",
|
1064
1113
|
"patterns": [
|
1065
1114
|
{
|
@@ -1074,6 +1123,10 @@
|
|
1074
1123
|
{
|
1075
1124
|
"include": "#comment"
|
1076
1125
|
},
|
1126
|
+
{
|
1127
|
+
"name": "meta.definition.property.tsx entity.name.function.tsx",
|
1128
|
+
"match": "(?x)([_$[:alpha:]][_$[:alnum:]]*)(?=(\\?\\s*)?\\s*\n (=\\s*(\n (async\\s+) |\n (function\\s*[(<]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=>) |\n ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>))\n ) |\n (:\\s*(\n (<) |\n ([(]\\s*(\n ([)]) |\n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=>)\n ))\n )))\n )\n)"
|
1129
|
+
},
|
1077
1130
|
{
|
1078
1131
|
"name": "meta.definition.property.tsx variable.object.property.tsx",
|
1079
1132
|
"match": "[_$[:alpha:]][_$[:alnum:]]*"
|
@@ -1088,7 +1141,7 @@
|
|
1088
1141
|
},
|
1089
1142
|
"method-declaration": {
|
1090
1143
|
"name": "meta.method.declaration.tsx",
|
1091
|
-
"begin": "(?<!\\.|\\$)(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(?:\\b(?:(new)|(constructor))\\b(?!\\$|:))|(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[[^\\]]*\\]))\\s*(\\??))?\\s*[\\(\\<]))",
|
1144
|
+
"begin": "(?<!\\.|\\$)(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(?:\\b(?:(new)|(constructor))\\b(?!\\$|:))|(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\<]))",
|
1092
1145
|
"beginCaptures": {
|
1093
1146
|
"1": {
|
1094
1147
|
"name": "storage.modifier.tsx"
|
@@ -1138,7 +1191,7 @@
|
|
1138
1191
|
]
|
1139
1192
|
},
|
1140
1193
|
"method-overload-declaration": {
|
1141
|
-
"begin": "(?<!\\.|\\$)(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(?:\\b(?:(new)|(constructor))\\b(?!\\$|:))|(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[[^\\]]*\\]))\\s*(\\??))?\\s*[\\(\\<]))",
|
1194
|
+
"begin": "(?<!\\.|\\$)(?:\\b(public|private|protected)\\s+)?(?:\\b(abstract)\\s+)?(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(?:\\b(?:(new)|(constructor))\\b(?!\\$|:))|(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\<]))",
|
1142
1195
|
"beginCaptures": {
|
1143
1196
|
"1": {
|
1144
1197
|
"name": "storage.modifier.tsx"
|
@@ -1170,7 +1223,7 @@
|
|
1170
1223
|
]
|
1171
1224
|
},
|
1172
1225
|
"method-declaration-name": {
|
1173
|
-
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[[^\\]]*\\]))\\s*(\\??)\\s*[\\(\\<])",
|
1226
|
+
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??)\\s*[\\(\\<])",
|
1174
1227
|
"end": "(?=\\(|\\<)",
|
1175
1228
|
"patterns": [
|
1176
1229
|
{
|
@@ -1189,6 +1242,65 @@
|
|
1189
1242
|
}
|
1190
1243
|
]
|
1191
1244
|
},
|
1245
|
+
"object-literal-method-declaration": {
|
1246
|
+
"name": "meta.method.declaration.tsx",
|
1247
|
+
"begin": "(?<!\\.|\\$)(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\<])",
|
1248
|
+
"beginCaptures": {
|
1249
|
+
"1": {
|
1250
|
+
"name": "storage.modifier.async.tsx"
|
1251
|
+
},
|
1252
|
+
"2": {
|
1253
|
+
"name": "storage.type.property.tsx"
|
1254
|
+
},
|
1255
|
+
"3": {
|
1256
|
+
"name": "keyword.generator.asterisk.tsx"
|
1257
|
+
}
|
1258
|
+
},
|
1259
|
+
"end": "(?=\\}|;|,)|(?<=\\})",
|
1260
|
+
"patterns": [
|
1261
|
+
{
|
1262
|
+
"include": "#method-declaration-name"
|
1263
|
+
},
|
1264
|
+
{
|
1265
|
+
"include": "#comment"
|
1266
|
+
},
|
1267
|
+
{
|
1268
|
+
"include": "#type-parameters"
|
1269
|
+
},
|
1270
|
+
{
|
1271
|
+
"include": "#function-parameters"
|
1272
|
+
},
|
1273
|
+
{
|
1274
|
+
"include": "#return-type"
|
1275
|
+
},
|
1276
|
+
{
|
1277
|
+
"include": "#method-overload-declaration"
|
1278
|
+
},
|
1279
|
+
{
|
1280
|
+
"include": "#decl-block"
|
1281
|
+
}
|
1282
|
+
]
|
1283
|
+
},
|
1284
|
+
"object-literal-method-overload-declaration": {
|
1285
|
+
"begin": "(?<!\\.|\\$)(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\<])",
|
1286
|
+
"beginCaptures": {
|
1287
|
+
"1": {
|
1288
|
+
"name": "storage.modifier.async.tsx"
|
1289
|
+
},
|
1290
|
+
"2": {
|
1291
|
+
"name": "storage.type.property.tsx"
|
1292
|
+
},
|
1293
|
+
"3": {
|
1294
|
+
"name": "keyword.generator.asterisk.tsx"
|
1295
|
+
}
|
1296
|
+
},
|
1297
|
+
"end": "(?=\\(|\\<)",
|
1298
|
+
"patterns": [
|
1299
|
+
{
|
1300
|
+
"include": "#method-declaration-name"
|
1301
|
+
}
|
1302
|
+
]
|
1303
|
+
},
|
1192
1304
|
"indexer-declaration": {
|
1193
1305
|
"name": "meta.indexer.declaration.tsx",
|
1194
1306
|
"begin": "(?:(?<!\\.|\\$)\\b(readonly)\\s*)?(\\[)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=:)",
|
@@ -1218,6 +1330,38 @@
|
|
1218
1330
|
}
|
1219
1331
|
]
|
1220
1332
|
},
|
1333
|
+
"indexer-mapped-type-declaration": {
|
1334
|
+
"name": "meta.indexer.mappedtype.declaration.tsx",
|
1335
|
+
"begin": "(?:(?<!\\.|\\$)\\b(readonly)\\s*)?(\\[)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s+(in)\\s+",
|
1336
|
+
"beginCaptures": {
|
1337
|
+
"1": {
|
1338
|
+
"name": "storage.modifier.tsx"
|
1339
|
+
},
|
1340
|
+
"2": {
|
1341
|
+
"name": "meta.brace.square.tsx"
|
1342
|
+
},
|
1343
|
+
"3": {
|
1344
|
+
"name": "entity.name.type.tsx"
|
1345
|
+
},
|
1346
|
+
"4": {
|
1347
|
+
"name": "keyword.operator.expression.in.tsx"
|
1348
|
+
}
|
1349
|
+
},
|
1350
|
+
"end": "(\\])\\s*(\\?\\s*)?|$",
|
1351
|
+
"endCaptures": {
|
1352
|
+
"1": {
|
1353
|
+
"name": "meta.brace.square.tsx"
|
1354
|
+
},
|
1355
|
+
"2": {
|
1356
|
+
"name": "keyword.operator.optional.tsx"
|
1357
|
+
}
|
1358
|
+
},
|
1359
|
+
"patterns": [
|
1360
|
+
{
|
1361
|
+
"include": "#type"
|
1362
|
+
}
|
1363
|
+
]
|
1364
|
+
},
|
1221
1365
|
"function-declaration": {
|
1222
1366
|
"name": "meta.function.tsx",
|
1223
1367
|
"begin": "(?<!\\.|\\$)\\b(?:(export)\\s+)?(?:(async)\\s+)?(function\\b)(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\s*",
|
@@ -1342,24 +1486,50 @@
|
|
1342
1486
|
]
|
1343
1487
|
},
|
1344
1488
|
"parameter-name": {
|
1345
|
-
"
|
1346
|
-
|
1347
|
-
|
1348
|
-
"
|
1349
|
-
|
1350
|
-
|
1351
|
-
|
1352
|
-
|
1353
|
-
"3": {
|
1354
|
-
"name": "keyword.operator.rest.tsx"
|
1489
|
+
"patterns": [
|
1490
|
+
{
|
1491
|
+
"match": "\\s*\\b(public|protected|private|readonly)(?=\\s+(public|protected|private|readonly)\\s+)",
|
1492
|
+
"captures": {
|
1493
|
+
"1": {
|
1494
|
+
"name": "storage.modifier.tsx"
|
1495
|
+
}
|
1496
|
+
}
|
1355
1497
|
},
|
1356
|
-
|
1357
|
-
"
|
1498
|
+
{
|
1499
|
+
"match": "(?x)(?:\\s*\\b(public|private|protected|readonly)\\s+)?(\\.\\.\\.)?\\s*(?<!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\??)(?=\\s*\n (=\\s*(\n (async\\s+) |\n (function\\s*[(<]) |\n (function\\s+) |\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=>) |\n ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>))\n ) |\n (:\\s*(\n (<) |\n ([(]\\s*(\n ([)]) |\n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=>)\n ))\n )))\n )\n)",
|
1500
|
+
"captures": {
|
1501
|
+
"1": {
|
1502
|
+
"name": "storage.modifier.tsx"
|
1503
|
+
},
|
1504
|
+
"2": {
|
1505
|
+
"name": "keyword.operator.rest.tsx"
|
1506
|
+
},
|
1507
|
+
"3": {
|
1508
|
+
"name": "entity.name.function.tsx"
|
1509
|
+
},
|
1510
|
+
"4": {
|
1511
|
+
"name": "keyword.operator.optional.tsx"
|
1512
|
+
}
|
1513
|
+
}
|
1358
1514
|
},
|
1359
|
-
|
1360
|
-
"
|
1515
|
+
{
|
1516
|
+
"match": "(?:\\s*\\b(public|private|protected|readonly)\\s+)?(\\.\\.\\.)?\\s*(?<!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\??)",
|
1517
|
+
"captures": {
|
1518
|
+
"1": {
|
1519
|
+
"name": "storage.modifier.tsx"
|
1520
|
+
},
|
1521
|
+
"2": {
|
1522
|
+
"name": "keyword.operator.rest.tsx"
|
1523
|
+
},
|
1524
|
+
"3": {
|
1525
|
+
"name": "variable.parameter.tsx"
|
1526
|
+
},
|
1527
|
+
"4": {
|
1528
|
+
"name": "keyword.operator.optional.tsx"
|
1529
|
+
}
|
1530
|
+
}
|
1361
1531
|
}
|
1362
|
-
|
1532
|
+
]
|
1363
1533
|
},
|
1364
1534
|
"destructuring-parameter": {
|
1365
1535
|
"patterns": [
|
@@ -1399,7 +1569,10 @@
|
|
1399
1569
|
},
|
1400
1570
|
"patterns": [
|
1401
1571
|
{
|
1402
|
-
"include": "#parameter-
|
1572
|
+
"include": "#parameter-binding-element"
|
1573
|
+
},
|
1574
|
+
{
|
1575
|
+
"include": "#punctuation-comma"
|
1403
1576
|
}
|
1404
1577
|
]
|
1405
1578
|
}
|
@@ -1411,29 +1584,14 @@
|
|
1411
1584
|
"include": "#comment"
|
1412
1585
|
},
|
1413
1586
|
{
|
1414
|
-
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(:)",
|
1415
|
-
"beginCaptures": {
|
1416
|
-
"1": {
|
1417
|
-
"name": "variable.object.property.tsx"
|
1418
|
-
},
|
1419
|
-
"2": {
|
1420
|
-
"name": "punctuation.destructuring.tsx"
|
1421
|
-
}
|
1422
|
-
},
|
1587
|
+
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",
|
1423
1588
|
"end": "(?=,|\\})",
|
1424
1589
|
"patterns": [
|
1425
1590
|
{
|
1426
|
-
"include": "#
|
1427
|
-
},
|
1428
|
-
{
|
1429
|
-
"include": "#parameter-array-binding-pattern"
|
1430
|
-
},
|
1431
|
-
{
|
1432
|
-
"name": "variable.parameter.tsx",
|
1433
|
-
"match": "([_$[:alpha:]][_$[:alnum:]]*)"
|
1591
|
+
"include": "#object-binding-element-propertyName"
|
1434
1592
|
},
|
1435
1593
|
{
|
1436
|
-
"include": "#
|
1594
|
+
"include": "#parameter-binding-element"
|
1437
1595
|
}
|
1438
1596
|
]
|
1439
1597
|
},
|
@@ -1451,7 +1609,7 @@
|
|
1451
1609
|
}
|
1452
1610
|
]
|
1453
1611
|
},
|
1454
|
-
"parameter-
|
1612
|
+
"parameter-binding-element": {
|
1455
1613
|
"patterns": [
|
1456
1614
|
{
|
1457
1615
|
"include": "#comment"
|
@@ -1467,9 +1625,6 @@
|
|
1467
1625
|
},
|
1468
1626
|
{
|
1469
1627
|
"include": "#variable-initializer"
|
1470
|
-
},
|
1471
|
-
{
|
1472
|
-
"include": "#punctuation-comma"
|
1473
1628
|
}
|
1474
1629
|
]
|
1475
1630
|
},
|
@@ -1524,7 +1679,10 @@
|
|
1524
1679
|
},
|
1525
1680
|
"patterns": [
|
1526
1681
|
{
|
1527
|
-
"include": "#parameter-
|
1682
|
+
"include": "#parameter-binding-element"
|
1683
|
+
},
|
1684
|
+
{
|
1685
|
+
"include": "#punctuation-comma"
|
1528
1686
|
}
|
1529
1687
|
]
|
1530
1688
|
},
|
@@ -1684,9 +1842,9 @@
|
|
1684
1842
|
},
|
1685
1843
|
"type-paren-or-function-parameters": {
|
1686
1844
|
"name": "meta.type.paren.cover.tsx",
|
1687
|
-
"begin": "\\
|
1845
|
+
"begin": "\\(",
|
1688
1846
|
"beginCaptures": {
|
1689
|
-
"
|
1847
|
+
"0": {
|
1690
1848
|
"name": "meta.brace.round.tsx"
|
1691
1849
|
}
|
1692
1850
|
},
|
@@ -1743,7 +1901,7 @@
|
|
1743
1901
|
},
|
1744
1902
|
{
|
1745
1903
|
"name": "meta.type.function.tsx",
|
1746
|
-
"begin": "(?x)(
|
1904
|
+
"begin": "(?x)(\n (?=\n [(]\\s*(\n ([)]) | \n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=>)\n ))\n )\n )\n)",
|
1747
1905
|
"end": "(?<=\\))",
|
1748
1906
|
"patterns": [
|
1749
1907
|
{
|
@@ -1761,6 +1919,10 @@
|
|
1761
1919
|
{
|
1762
1920
|
"name": "keyword.operator.type.tsx",
|
1763
1921
|
"match": "[&|]"
|
1922
|
+
},
|
1923
|
+
{
|
1924
|
+
"name": "keyword.operator.expression.keyof.tsx",
|
1925
|
+
"match": "(?<!\\.|\\$)\\bkeyof\\b(?!\\$)"
|
1764
1926
|
}
|
1765
1927
|
]
|
1766
1928
|
},
|
@@ -1892,12 +2054,15 @@
|
|
1892
2054
|
]
|
1893
2055
|
},
|
1894
2056
|
"for-loop": {
|
1895
|
-
"begin": "(?<!\\.|\\$)\\b(for)
|
2057
|
+
"begin": "(?<!\\.|\\$)\\b(for)(?:\\s+(await))?\\s*(\\()",
|
1896
2058
|
"beginCaptures": {
|
1897
2059
|
"1": {
|
1898
2060
|
"name": "keyword.control.loop.tsx"
|
1899
2061
|
},
|
1900
2062
|
"2": {
|
2063
|
+
"name": "keyword.control.loop.tsx"
|
2064
|
+
},
|
2065
|
+
"3": {
|
1901
2066
|
"name": "meta.brace.round.tsx"
|
1902
2067
|
}
|
1903
2068
|
},
|
@@ -1944,7 +2109,7 @@
|
|
1944
2109
|
},
|
1945
2110
|
"switch-block": {
|
1946
2111
|
"name": "switch-block.expr.tsx",
|
1947
|
-
"begin": "{",
|
2112
|
+
"begin": "\\{",
|
1948
2113
|
"beginCaptures": {
|
1949
2114
|
"0": {
|
1950
2115
|
"name": "punctuation.definition.block.tsx"
|
@@ -1983,7 +2148,7 @@
|
|
1983
2148
|
"switch-statement": {
|
1984
2149
|
"name": "switch-statement.expr.tsx",
|
1985
2150
|
"begin": "(?<!\\.|\\$)(?=\\bswitch\\s*\\()",
|
1986
|
-
"end": "}",
|
2151
|
+
"end": "\\}",
|
1987
2152
|
"endCaptures": {
|
1988
2153
|
"0": {
|
1989
2154
|
"name": "punctuation.definition.block.tsx"
|
@@ -2006,7 +2171,7 @@
|
|
2006
2171
|
},
|
2007
2172
|
{
|
2008
2173
|
"name": "support.class.builtin.tsx",
|
2009
|
-
"match": "(?x)(?<!\\.|\\$)\\b(Array|ArrayBuffer|Atomics|Boolean|DataView|Date|Float32Array|Float64Array|Function|Generator
|
2174
|
+
"match": "(?x)(?<!\\.|\\$)\\b(Array|ArrayBuffer|Atomics|Boolean|DataView|Date|Float32Array|Float64Array|Function|Generator\n |GeneratorFunction|Int8Array|Int16Array|Int32Array|Intl|Map|Number|Object|Promise|Proxy\n |Reflect|RegExp|Set|SharedArrayBuffer|SIMD|String|Symbol|TypedArray\n |Uint8Array|Uint16Array|Uint32Array|Uint8ClampedArray|WeakMap|WeakSet)\\b(?!\\$)"
|
2010
2175
|
},
|
2011
2176
|
{
|
2012
2177
|
"name": "support.class.error.tsx",
|
@@ -2014,7 +2179,7 @@
|
|
2014
2179
|
},
|
2015
2180
|
{
|
2016
2181
|
"name": "support.function.tsx",
|
2017
|
-
"match": "(?x)(?<!\\.|\\$)\\b(clear(Interval|Timeout)|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|eval
|
2182
|
+
"match": "(?x)(?<!\\.|\\$)\\b(clear(Interval|Timeout)|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|eval|\n isFinite|isNaN|parseFloat|parseInt|require|set(Interval|Timeout)|super|unescape|uneval)(?=\\s*\\() "
|
2018
2183
|
},
|
2019
2184
|
{
|
2020
2185
|
"match": "(?x)(?<!\\.|\\$)\\b(Math)(?:\\s*(\\.)\\s*(?:\n (abs|acos|acosh|asin|asinh|atan|atan2|atanh|cbrt|ceil|clz32|cos|cosh|exp|\n expm1|floor|fround|hypot|imul|log|log10|log1p|log2|max|min|pow|random|\n round|sign|sin|sinh|sqrt|tan|tanh|trunc)\n |\n (E|LN10|LN2|LOG10E|LOG2E|PI|SQRT1_2|SQRT2)))?\\b(?!\\$)",
|
@@ -2166,17 +2331,19 @@
|
|
2166
2331
|
]
|
2167
2332
|
},
|
2168
2333
|
"function-call": {
|
2169
|
-
"begin": "(
|
2170
|
-
"
|
2171
|
-
"1": {
|
2172
|
-
"name": "punctuation.accessor.tsx"
|
2173
|
-
},
|
2174
|
-
"2": {
|
2175
|
-
"name": "entity.name.function.tsx"
|
2176
|
-
}
|
2177
|
-
},
|
2178
|
-
"end": "(?<=\\))",
|
2334
|
+
"begin": "(?=(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()",
|
2335
|
+
"end": "(?<=\\))(?!(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()",
|
2179
2336
|
"patterns": [
|
2337
|
+
{
|
2338
|
+
"include": "#support-objects"
|
2339
|
+
},
|
2340
|
+
{
|
2341
|
+
"include": "#punctuation-accessor"
|
2342
|
+
},
|
2343
|
+
{
|
2344
|
+
"name": "entity.name.function.tsx",
|
2345
|
+
"match": "([_$[:alpha:]][_$[:alnum:]]*)"
|
2346
|
+
},
|
2180
2347
|
{
|
2181
2348
|
"include": "#comment"
|
2182
2349
|
},
|
@@ -2221,7 +2388,7 @@
|
|
2221
2388
|
"name": "punctuation.accessor.tsx"
|
2222
2389
|
},
|
2223
2390
|
"2": {
|
2224
|
-
"name": "
|
2391
|
+
"name": "variable.other.constant.object.property.tsx"
|
2225
2392
|
},
|
2226
2393
|
"3": {
|
2227
2394
|
"name": "variable.other.object.property.tsx"
|
@@ -2229,7 +2396,7 @@
|
|
2229
2396
|
}
|
2230
2397
|
},
|
2231
2398
|
{
|
2232
|
-
"match": "(?x)(?:(\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*(
|
2399
|
+
"match": "(?x)(?:(\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*(\n (async\\s+)|(function\\s*[(<])|(function\\s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=>)|\n ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)))",
|
2233
2400
|
"captures": {
|
2234
2401
|
"1": {
|
2235
2402
|
"name": "punctuation.accessor.tsx"
|
@@ -2246,7 +2413,7 @@
|
|
2246
2413
|
"name": "punctuation.accessor.tsx"
|
2247
2414
|
},
|
2248
2415
|
"2": {
|
2249
|
-
"name": "
|
2416
|
+
"name": "variable.other.constant.property.tsx"
|
2250
2417
|
}
|
2251
2418
|
}
|
2252
2419
|
},
|
@@ -2265,7 +2432,7 @@
|
|
2265
2432
|
"match": "(?x)(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)",
|
2266
2433
|
"captures": {
|
2267
2434
|
"1": {
|
2268
|
-
"name": "
|
2435
|
+
"name": "variable.other.constant.object.tsx"
|
2269
2436
|
},
|
2270
2437
|
"2": {
|
2271
2438
|
"name": "variable.other.object.tsx"
|
@@ -2273,7 +2440,7 @@
|
|
2273
2440
|
}
|
2274
2441
|
},
|
2275
2442
|
{
|
2276
|
-
"name": "
|
2443
|
+
"name": "variable.other.constant.tsx",
|
2277
2444
|
"match": "([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])"
|
2278
2445
|
},
|
2279
2446
|
{
|
@@ -2302,6 +2469,9 @@
|
|
2302
2469
|
{
|
2303
2470
|
"include": "#paren-expression"
|
2304
2471
|
},
|
2472
|
+
{
|
2473
|
+
"include": "#class-or-interface-declaration"
|
2474
|
+
},
|
2305
2475
|
{
|
2306
2476
|
"include": "#type"
|
2307
2477
|
}
|
@@ -2313,16 +2483,16 @@
|
|
2313
2483
|
"include": "#comment"
|
2314
2484
|
},
|
2315
2485
|
{
|
2316
|
-
"include": "#method-declaration"
|
2486
|
+
"include": "#object-literal-method-declaration"
|
2317
2487
|
},
|
2318
2488
|
{
|
2319
2489
|
"name": "meta.object.member.tsx",
|
2320
|
-
"begin": "(?=(?:(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(?:\\[[^\\]]*\\]))\\s*:)",
|
2490
|
+
"begin": "(?=(?:(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(?:\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*:)",
|
2321
2491
|
"end": "(?=,|\\})",
|
2322
2492
|
"patterns": [
|
2323
2493
|
{
|
2324
2494
|
"name": "meta.object-literal.key.tsx",
|
2325
|
-
"begin": "(?=(?:(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(?:\\[[^\\]]*\\]))\\s*:)",
|
2495
|
+
"begin": "(?=(?:(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(?:\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*:)",
|
2326
2496
|
"end": ":",
|
2327
2497
|
"endCaptures": {
|
2328
2498
|
"0": {
|
@@ -2345,7 +2515,7 @@
|
|
2345
2515
|
},
|
2346
2516
|
{
|
2347
2517
|
"name": "meta.object.member.tsx",
|
2348
|
-
"begin": "(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\\s*(:)(?=\\s*(
|
2518
|
+
"begin": "(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\\s*(:)(?=\\s*(\n (async\\s+)|(function\\s*[(<])|(function\\s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=>)|\n ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>))))",
|
2349
2519
|
"beginCaptures": {
|
2350
2520
|
"0": {
|
2351
2521
|
"name": "meta.object-literal.key.tsx"
|
@@ -2505,6 +2675,14 @@
|
|
2505
2675
|
{
|
2506
2676
|
"name": "keyword.operator.arithmetic.tsx",
|
2507
2677
|
"match": "%|\\*|/|-|\\+"
|
2678
|
+
},
|
2679
|
+
{
|
2680
|
+
"match": "(?<=[_$[:alnum:])])\\s*(/)(?![/*])",
|
2681
|
+
"captures": {
|
2682
|
+
"1": {
|
2683
|
+
"name": "keyword.operator.arithmetic.tsx"
|
2684
|
+
}
|
2685
|
+
}
|
2508
2686
|
}
|
2509
2687
|
]
|
2510
2688
|
},
|
@@ -2676,7 +2854,7 @@
|
|
2676
2854
|
"patterns": [
|
2677
2855
|
{
|
2678
2856
|
"name": "string.regex.tsx",
|
2679
|
-
"begin": "(?<=[=(:,\\[?+!]|return|case|=>|&&|\\|\\||\\*\\/)\\s*(/)(?![
|
2857
|
+
"begin": "(?<=[=(:,\\[?+!]|return|case|=>|&&|\\|\\||\\*\\/)\\s*(/)(?![/*])(?=(?:[^/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+/(?![/*])[gimy]*(?!\\s*[a-zA-Z0-9_$]))",
|
2680
2858
|
"beginCaptures": {
|
2681
2859
|
"1": {
|
2682
2860
|
"name": "punctuation.definition.string.begin.tsx"
|
@@ -2699,7 +2877,7 @@
|
|
2699
2877
|
},
|
2700
2878
|
{
|
2701
2879
|
"name": "string.regex.tsx",
|
2702
|
-
"begin": "/(?![/*])(?=(?:[^/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+/(?![/*])[gimy]*(?!\\s*[a-zA-Z0-9_$]))",
|
2880
|
+
"begin": "(?<![_$[:alnum:]])/(?![/*])(?=(?:[^/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+/(?![/*])[gimy]*(?!\\s*[a-zA-Z0-9_$]))",
|
2703
2881
|
"beginCaptures": {
|
2704
2882
|
"0": {
|
2705
2883
|
"name": "punctuation.definition.string.begin.tsx"
|
@@ -2865,7 +3043,6 @@
|
|
2865
3043
|
]
|
2866
3044
|
},
|
2867
3045
|
"string": {
|
2868
|
-
"name": "string.tsx",
|
2869
3046
|
"patterns": [
|
2870
3047
|
{
|
2871
3048
|
"include": "#qstring-single"
|
@@ -3072,8 +3249,13 @@
|
|
3072
3249
|
{
|
3073
3250
|
"name": "comment.block.documentation.tsx",
|
3074
3251
|
"begin": "/\\*\\*(?!/)",
|
3252
|
+
"beginCaptures": {
|
3253
|
+
"0": {
|
3254
|
+
"name": "punctuation.definition.comment.tsx"
|
3255
|
+
}
|
3256
|
+
},
|
3075
3257
|
"end": "\\*/",
|
3076
|
-
"
|
3258
|
+
"endCaptures": {
|
3077
3259
|
"0": {
|
3078
3260
|
"name": "punctuation.definition.comment.tsx"
|
3079
3261
|
}
|
@@ -3087,8 +3269,13 @@
|
|
3087
3269
|
{
|
3088
3270
|
"name": "comment.block.tsx",
|
3089
3271
|
"begin": "/\\*",
|
3272
|
+
"beginCaptures": {
|
3273
|
+
"0": {
|
3274
|
+
"name": "punctuation.definition.comment.tsx"
|
3275
|
+
}
|
3276
|
+
},
|
3090
3277
|
"end": "\\*/",
|
3091
|
-
"
|
3278
|
+
"endCaptures": {
|
3092
3279
|
"0": {
|
3093
3280
|
"name": "punctuation.definition.comment.tsx"
|
3094
3281
|
}
|
@@ -3117,14 +3304,75 @@
|
|
3117
3304
|
}
|
3118
3305
|
]
|
3119
3306
|
},
|
3307
|
+
"directives": {
|
3308
|
+
"name": "comment.line.triple-slash.directive.tsx",
|
3309
|
+
"begin": "^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|name)\\s*=\\s*((\\'[^']*\\')|(\\\"[^\"]*\\\")))+\\s*/>\\s*$)",
|
3310
|
+
"beginCaptures": {
|
3311
|
+
"1": {
|
3312
|
+
"name": "punctuation.definition.comment.tsx"
|
3313
|
+
}
|
3314
|
+
},
|
3315
|
+
"end": "(?=$)",
|
3316
|
+
"patterns": [
|
3317
|
+
{
|
3318
|
+
"name": "meta.tag.tsx",
|
3319
|
+
"begin": "(<)(reference|amd-dependency|amd-module)",
|
3320
|
+
"beginCaptures": {
|
3321
|
+
"1": {
|
3322
|
+
"name": "punctuation.definition.tag.directive.tsx"
|
3323
|
+
},
|
3324
|
+
"2": {
|
3325
|
+
"name": "entity.name.tag.directive.tsx"
|
3326
|
+
}
|
3327
|
+
},
|
3328
|
+
"end": "/>",
|
3329
|
+
"endCaptures": {
|
3330
|
+
"0": {
|
3331
|
+
"name": "punctuation.definition.tag.directive.tsx"
|
3332
|
+
}
|
3333
|
+
},
|
3334
|
+
"patterns": [
|
3335
|
+
{
|
3336
|
+
"name": "entity.other.attribute-name.directive.tsx",
|
3337
|
+
"match": "path|types|no-default-lib|name"
|
3338
|
+
},
|
3339
|
+
{
|
3340
|
+
"name": "keyword.operator.assignment.tsx",
|
3341
|
+
"match": "="
|
3342
|
+
},
|
3343
|
+
{
|
3344
|
+
"include": "#string"
|
3345
|
+
}
|
3346
|
+
]
|
3347
|
+
}
|
3348
|
+
]
|
3349
|
+
},
|
3120
3350
|
"docblock": {
|
3121
3351
|
"patterns": [
|
3122
3352
|
{
|
3123
3353
|
"name": "storage.type.class.jsdoc",
|
3124
|
-
"match": "(?<!\\w)@(abstract|access|alias|arg|argument|async|attribute|augments|author|beta|borrows|bubbes|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exports?|extends|extension|extension_for|extensionfor|external|file|fileoverview|final|fires|for|function|global|host|ignore|implements|inherit[Dd]oc|inner|instance|interface|kind|lends|license|listens|main|member|memberof|method|mixex|mixins?|module|name|namespace|nocollapse|nosideeffects|override|overview|package|param|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|template|this|throws|todo|
|
3354
|
+
"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|implicitCast|inherit[Dd]oc|inner|instance\n |interface|kind|lends|license|listens|main|member|memberof|method|mixex|mixins?|modifies|module|name|namespace\n |noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|preserve|private|prop|property\n |protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress\n |template|this|throws|todo|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce)\\b"
|
3355
|
+
},
|
3356
|
+
{
|
3357
|
+
"name": "other.meta.jsdoc",
|
3358
|
+
"match": "(?x)\n(\n \\[\n [^\\]]+ # Optional [link text] preceding {@link syntax}\n \\]\n\n (?! # Check to avoid highlighting two sets of link text\n {\n @\\w+ # Tagname\n \\s+\n [^\\s|}]+ # Namepath/URL\n [\\s|] # Whitespace or bar delimiting description\n [^}]*\n }\n )\n)?\n\n(?:\n {\n (\n @\n (?: link # Name of tag\n | linkcode\n | linkplain\n | tutorial\n )\n )\n\n \\s+\n\n ([^\\s|}]+) # Namepath or URL\n\n (?: # Optional link text following link target\n [\\s|] # Bar or space separating target and text\n [^}]* # Actual text\n )?\n }\n)",
|
3359
|
+
"captures": {
|
3360
|
+
"0": {
|
3361
|
+
"name": "entity.name.type.instance.jsdoc"
|
3362
|
+
},
|
3363
|
+
"1": {
|
3364
|
+
"name": "constant.other.description.jsdoc"
|
3365
|
+
},
|
3366
|
+
"2": {
|
3367
|
+
"name": "storage.type.class.jsdoc"
|
3368
|
+
},
|
3369
|
+
"3": {
|
3370
|
+
"name": "variable.other.description.jsdoc"
|
3371
|
+
}
|
3372
|
+
}
|
3125
3373
|
},
|
3126
3374
|
{
|
3127
|
-
"match": "(?x)\n(?:(?<=@param)|(?<=@arg)|(?<=@argument)|(?<=@type))\n\\s+\n({(?:\n \\* |
|
3375
|
+
"match": "(?x)\n\n(?:(?<=@param)|(?<=@arg)|(?<=@argument)|(?<=@type)|(?<=@property)|(?<=@prop))\n\n\\s+\n\n({(?:\n \\* | # {*} any type\n \\? | # {?} unknown type\n\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 (?:\n function # {function(string, number)} function type\n \\s*\n \\(\n \\s*\n (?:\n [a-zA-Z_$][\\w$]*\n (?:\n \\s*,\\s*\n [a-zA-Z_$][\\w$]*\n )*\n )?\n \\s*\n \\)\n (?: # {function(): string} function return type\n \\s*:\\s*\n [a-zA-Z_$][\\w$]*\n )?\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 (optional .)\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 (optional .)\n )\n )*\n \\) |\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 (optional .)\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 (optional .)\n )\n )*\n )\n )\n # Check for suffix\n (?:\\[\\])? # {string[]} type application, an array of strings\n =? # {string=} optional parameter\n )\n)})\n\n\\s+\n\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\n\\s+\n\n(?:-\\s+)? # optional hyphen before the description\n\n((?:(?!\\*\\/).)*) # The type description",
|
3128
3376
|
"captures": {
|
3129
3377
|
"0": {
|
3130
3378
|
"name": "other.meta.jsdoc"
|
@@ -3141,7 +3389,7 @@
|
|
3141
3389
|
}
|
3142
3390
|
},
|
3143
3391
|
{
|
3144
|
-
"match": "(?x)\n({(?:\n \\* | # {*} any type\n \\? | # {?} unknown type\n\n (?:
|
3392
|
+
"match": "(?x)\n\n({(?:\n \\* | # {*} any type\n \\? | # {?} unknown type\n\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 (?:\n function # {function(string, number)} function type\n \\s*\n \\(\n \\s*\n (?:\n [a-zA-Z_$][\\w$]*\n (?:\n \\s*,\\s*\n [a-zA-Z_$][\\w$]*\n )*\n )?\n \\s*\n \\)\n (?: # {function(): string} function return type\n \\s*:\\s*\n [a-zA-Z_$][\\w$]*\n )?\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 (optional .)\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 (optional .)\n )\n )*\n \\) |\n [a-zA-Z_$]+\n (?:\n [\\w$]* |\n \\.?<[\\w$]+(?:,\\s+[\\w$]+)*> # {Array<string>} or {Object<string, number>} type application (optional .)\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 (optional .)\n )\n )*\n )\n )\n # Check for suffix\n (?:\\[\\])? # {string[]} type application, an array of strings\n =? # {string=} optional parameter\n )\n)})\n\n\\s+\n\n(?:-\\s+)? # optional hyphen before the description\n\n((?:(?!\\*\\/).)*) # The type description",
|
3145
3393
|
"captures": {
|
3146
3394
|
"0": {
|
3147
3395
|
"name": "other.meta.jsdoc"
|
@@ -3176,7 +3424,6 @@
|
|
3176
3424
|
]
|
3177
3425
|
},
|
3178
3426
|
"jsx-tag-attribute-name": {
|
3179
|
-
"name": "meta.tag.attribute-name.tsx",
|
3180
3427
|
"match": "(?x)\n \\s*\n ([_$a-zA-Z][-$\\w]*)\n (?=\\s|=|/?>|/\\*|//)",
|
3181
3428
|
"captures": {
|
3182
3429
|
"1": {
|
@@ -3189,42 +3436,42 @@
|
|
3189
3436
|
"match": "=(?=\\s*(?:'|\"|{|/\\*|//|\\n))"
|
3190
3437
|
},
|
3191
3438
|
"jsx-string-double-quoted": {
|
3192
|
-
"name": "string.
|
3439
|
+
"name": "string.quoted.double.tsx",
|
3193
3440
|
"begin": "\"",
|
3194
3441
|
"end": "\"",
|
3195
3442
|
"beginCaptures": {
|
3196
3443
|
"0": {
|
3197
|
-
"name": "punctuation.definition.string.
|
3444
|
+
"name": "punctuation.definition.string.begin.tsx"
|
3198
3445
|
}
|
3199
3446
|
},
|
3200
3447
|
"endCaptures": {
|
3201
3448
|
"0": {
|
3202
|
-
"name": "punctuation.definition.string.
|
3449
|
+
"name": "punctuation.definition.string.end.tsx"
|
3203
3450
|
}
|
3204
3451
|
},
|
3205
3452
|
"patterns": [
|
3206
3453
|
{
|
3207
|
-
"include": "#jsx-
|
3454
|
+
"include": "#jsx-entities"
|
3208
3455
|
}
|
3209
3456
|
]
|
3210
3457
|
},
|
3211
3458
|
"jsx-string-single-quoted": {
|
3212
|
-
"name": "string.
|
3459
|
+
"name": "string.quoted.single.tsx",
|
3213
3460
|
"begin": "'",
|
3214
3461
|
"end": "'",
|
3215
3462
|
"beginCaptures": {
|
3216
3463
|
"0": {
|
3217
|
-
"name": "punctuation.definition.string.
|
3464
|
+
"name": "punctuation.definition.string.begin.tsx"
|
3218
3465
|
}
|
3219
3466
|
},
|
3220
3467
|
"endCaptures": {
|
3221
3468
|
"0": {
|
3222
|
-
"name": "punctuation.definition.string.
|
3469
|
+
"name": "punctuation.definition.string.end.tsx"
|
3223
3470
|
}
|
3224
3471
|
},
|
3225
3472
|
"patterns": [
|
3226
3473
|
{
|
3227
|
-
"include": "#jsx-
|
3474
|
+
"include": "#jsx-entities"
|
3228
3475
|
}
|
3229
3476
|
]
|
3230
3477
|
},
|
@@ -3248,30 +3495,10 @@
|
|
3248
3495
|
}
|
3249
3496
|
]
|
3250
3497
|
},
|
3251
|
-
"jsx-attributeValue-entities": {
|
3252
|
-
"patterns": [
|
3253
|
-
{
|
3254
|
-
"name": "constant.character.entity.jsxAttributeValue.tsx",
|
3255
|
-
"match": "(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)",
|
3256
|
-
"captures": {
|
3257
|
-
"1": {
|
3258
|
-
"name": "punctuation.definition.entity.jsxAttributeValue.tsx"
|
3259
|
-
},
|
3260
|
-
"3": {
|
3261
|
-
"name": "punctuation.definition.entity.jsxAttributeValue.tsx"
|
3262
|
-
}
|
3263
|
-
}
|
3264
|
-
},
|
3265
|
-
{
|
3266
|
-
"name": "invalid.illegal.bad-ampersand.jsxAttributeValue.tsx",
|
3267
|
-
"match": "&"
|
3268
|
-
}
|
3269
|
-
]
|
3270
|
-
},
|
3271
3498
|
"jsx-evaluated-code": {
|
3272
3499
|
"name": "meta.embedded.expression.tsx",
|
3273
|
-
"begin": "{",
|
3274
|
-
"end": "}",
|
3500
|
+
"begin": "\\{",
|
3501
|
+
"end": "\\}",
|
3275
3502
|
"beginCaptures": {
|
3276
3503
|
"0": {
|
3277
3504
|
"name": "punctuation.section.embedded.begin.tsx"
|
@@ -3326,7 +3553,7 @@
|
|
3326
3553
|
]
|
3327
3554
|
},
|
3328
3555
|
"jsx-tag-in-expression": {
|
3329
|
-
"begin": "(?x)\n (?<=[({\\[
|
3556
|
+
"begin": "(?x)\n (?<=[({\\[,?=>:*]|&&|\\|\\||\\?|\\Wreturn|^return|\\Wdefault|^)\\s*\n (?!(<)\\s*([_$a-zA-Z][-$\\w.]*(?<!\\.|-))\\s*(>)) #look ahead is not start of tag without attributes\n (?!<\\s*[_$[:alpha:]][_$[:alnum:]]*((\\s+extends\\s+[^=>])|,)) # look ahead is not type parameter of arrow\n (?=(<)\\s*\n ([_$a-zA-Z][-$\\w.]*(?<!\\.|-))\n (?=\\s+(?!\\?)|/?>))",
|
3330
3557
|
"end": "(/>)|(?:(</)\\s*([_$a-zA-Z][-$\\w.]*(?<!\\.|-))\\s*(>))",
|
3331
3558
|
"endCaptures": {
|
3332
3559
|
"0": {
|