github-linguist 5.0.0 → 5.0.2
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 +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
@@ -0,0 +1,137 @@
|
|
1
|
+
{
|
2
|
+
"fileTypes": [
|
3
|
+
"sol"
|
4
|
+
],
|
5
|
+
"name": "Solidity",
|
6
|
+
"patterns": [
|
7
|
+
{
|
8
|
+
"comment": "Comments",
|
9
|
+
"match": "\\/\\/.*",
|
10
|
+
"name": "comment"
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"begin": "(\\/\\*)",
|
14
|
+
"comment": "Multiline comments",
|
15
|
+
"end": "(\\*\\/)",
|
16
|
+
"name": "comment"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"captures": {
|
20
|
+
"2": {
|
21
|
+
"name": "support.function"
|
22
|
+
}
|
23
|
+
},
|
24
|
+
"comment": "Events",
|
25
|
+
"match": "\\b(event|enum)\\s+([A-Za-z_]\\w*)\\b",
|
26
|
+
"name": "keyword.control"
|
27
|
+
},
|
28
|
+
{
|
29
|
+
"captures": {
|
30
|
+
"2": {
|
31
|
+
"name": "entity.name.function"
|
32
|
+
},
|
33
|
+
"3": {
|
34
|
+
"name": "entity.name.function"
|
35
|
+
}
|
36
|
+
},
|
37
|
+
"comment": "Main keywords",
|
38
|
+
"match": "\\b(contract|library|using|struct|function|modifier)\\s+([A-Za-z_]\\w*)(?:\\s+is\\s+((?:[A-Za-z_][\\,\\s]*)*))?\\b",
|
39
|
+
"name": "keyword.control"
|
40
|
+
},
|
41
|
+
{
|
42
|
+
"captures": {
|
43
|
+
"1": {
|
44
|
+
"name": "constant.language"
|
45
|
+
},
|
46
|
+
"2": {
|
47
|
+
"name": "variable.parameter"
|
48
|
+
}
|
49
|
+
},
|
50
|
+
"comment": "Built-in types",
|
51
|
+
"match": "\\b(address|string|bytes\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\b(?:\\s+(?:indexed\\s+)?([A-Za-z_]\\w*)\\s*[,\\)])?"
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"captures": {
|
55
|
+
"1": {
|
56
|
+
"name": "constant.language"
|
57
|
+
},
|
58
|
+
"2": {
|
59
|
+
"name": "constant.language"
|
60
|
+
},
|
61
|
+
"3": {
|
62
|
+
"name": "constant.language"
|
63
|
+
},
|
64
|
+
"4": {
|
65
|
+
"name": "keyword.control"
|
66
|
+
}
|
67
|
+
},
|
68
|
+
"comment": "Mapping definition",
|
69
|
+
"match": "\\b(mapping)\\s*\\((.*)\\s+=>\\s+(.*)\\)(\\s+(?:private|public|internal|external|inherited))?\\s+([A-Za-z_]\\w*)\\b"
|
70
|
+
},
|
71
|
+
{
|
72
|
+
"comment": "True and false keywords",
|
73
|
+
"match": "\\b(true|false)\\b",
|
74
|
+
"name": "constant.language"
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"comment": "Langauge keywords",
|
78
|
+
"match": "\\b(var|import|function|constant|if|else|for|while|do|break|continue|returns?|private|public|internal|external|inherited|this|suicide|new|is|throw|\\_)\\b",
|
79
|
+
"name": "keyword.control"
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"captures": {
|
83
|
+
"1": {
|
84
|
+
"name": "constant.language"
|
85
|
+
},
|
86
|
+
"2": {
|
87
|
+
"name": "keyword.control"
|
88
|
+
}
|
89
|
+
},
|
90
|
+
"comment": "Variable definitions",
|
91
|
+
"match": "\\b([A-Za-z_]\\w+)(\\s+(?:private|public|internal|external|inherited))?\\s+([A-Za-z_]\\w*)\\;"
|
92
|
+
},
|
93
|
+
{
|
94
|
+
"comment": "Operators",
|
95
|
+
"match": "(=|!|>|<|\\||&|\\?|:|\\^|~|\\*|\\+|-|\\/|\\%)",
|
96
|
+
"name": "keyword.control"
|
97
|
+
},
|
98
|
+
{
|
99
|
+
"captures": {
|
100
|
+
"1": {
|
101
|
+
"name": "constant.language"
|
102
|
+
},
|
103
|
+
"2": {
|
104
|
+
"name": "constant.language"
|
105
|
+
}
|
106
|
+
},
|
107
|
+
"comment": "msg and block special usage",
|
108
|
+
"match": "\\b(msg|block|tx)\\.([A-Za-z_]\\w*)\\b"
|
109
|
+
},
|
110
|
+
{
|
111
|
+
"captures": {
|
112
|
+
"1": {
|
113
|
+
"name": "support.type"
|
114
|
+
}
|
115
|
+
},
|
116
|
+
"comment": "Function call",
|
117
|
+
"match": "\\b([A-Za-z_]\\w*)\\s*\\("
|
118
|
+
},
|
119
|
+
{
|
120
|
+
"comment": "Strings",
|
121
|
+
"match": "([\\\"\\'].*?[\\\"\\'])",
|
122
|
+
"name": "string.quoted"
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"comment": "Numbers",
|
126
|
+
"match": "\\b(\\d+)\\b",
|
127
|
+
"name": "constant.numeric"
|
128
|
+
},
|
129
|
+
{
|
130
|
+
"comment": "Hexadecimal",
|
131
|
+
"match": "\\b(0[xX][a-fA-F0-9]+)\\b",
|
132
|
+
"name": "constant.numeric"
|
133
|
+
}
|
134
|
+
],
|
135
|
+
"scopeName": "source.solidity",
|
136
|
+
"uuid": "ad87d2cd-8575-4afe-984e-9421a3788933"
|
137
|
+
}
|
data/grammars/source.ts.json
CHANGED
@@ -6,8 +6,20 @@
|
|
6
6
|
],
|
7
7
|
"uuid": "ef98eb90-bf9b-11e4-bb52-0800200c9a66",
|
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.ts",
|
89
|
-
"begin": "([_$[:alpha:]][_$[:alnum:]]*)",
|
90
|
-
"beginCaptures": {
|
91
|
-
"1": {
|
92
|
-
"name": "meta.definition.variable.ts variable.other.readwrite.ts"
|
93
|
-
}
|
94
|
-
},
|
95
|
-
"end": "(?=$|[;,=}]|(\\s+(of|in)\\s+))",
|
96
97
|
"patterns": [
|
97
98
|
{
|
98
|
-
"
|
99
|
+
"name": "meta.var-single-variable.expr.ts",
|
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.ts entity.name.function.ts"
|
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.ts",
|
121
|
+
"begin": "([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])",
|
122
|
+
"beginCaptures": {
|
123
|
+
"1": {
|
124
|
+
"name": "meta.definition.variable.ts variable.other.constant.ts"
|
125
|
+
}
|
126
|
+
},
|
127
|
+
"end": "(?=$|[;,=}]|(\\s+(of|in)\\s+))"
|
102
128
|
},
|
103
129
|
{
|
104
|
-
"
|
130
|
+
"name": "meta.var-single-variable.expr.ts",
|
131
|
+
"begin": "([_$[:alpha:]][_$[:alnum:]]*)",
|
132
|
+
"beginCaptures": {
|
133
|
+
"1": {
|
134
|
+
"name": "meta.definition.variable.ts variable.other.readwrite.ts"
|
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.ts"
|
154
|
-
},
|
155
|
-
"2": {
|
156
|
-
"name": "punctuation.destructuring.ts"
|
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.ts variable.other.readwrite.ts",
|
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.ts"
|
225
|
+
}
|
226
|
+
},
|
227
|
+
"patterns": [
|
228
|
+
{
|
229
|
+
"include": "#string"
|
230
|
+
},
|
231
|
+
{
|
232
|
+
"include": "#array-literal"
|
233
|
+
},
|
234
|
+
{
|
235
|
+
"name": "variable.object.property.ts",
|
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": {
|
@@ -338,10 +376,10 @@
|
|
338
376
|
"include": "#expression-operators"
|
339
377
|
},
|
340
378
|
{
|
341
|
-
"include": "#
|
379
|
+
"include": "#function-call"
|
342
380
|
},
|
343
381
|
{
|
344
|
-
"include": "#
|
382
|
+
"include": "#support-objects"
|
345
383
|
},
|
346
384
|
{
|
347
385
|
"include": "#identifiers"
|
@@ -546,12 +584,15 @@
|
|
546
584
|
]
|
547
585
|
},
|
548
586
|
{
|
549
|
-
"begin": "(?=(
|
587
|
+
"begin": "(?=((\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\])))",
|
550
588
|
"end": "(?=,|\\}|$)",
|
551
589
|
"patterns": [
|
552
590
|
{
|
553
591
|
"include": "#string"
|
554
592
|
},
|
593
|
+
{
|
594
|
+
"include": "#array-literal"
|
595
|
+
},
|
555
596
|
{
|
556
597
|
"include": "#comment"
|
557
598
|
},
|
@@ -591,8 +632,7 @@
|
|
591
632
|
"match": "([_$[:alpha:]][_$[:alnum:]]*)"
|
592
633
|
},
|
593
634
|
{
|
594
|
-
"
|
595
|
-
"match": "\\."
|
635
|
+
"include": "#punctuation-accessor"
|
596
636
|
}
|
597
637
|
]
|
598
638
|
},
|
@@ -799,7 +839,7 @@
|
|
799
839
|
},
|
800
840
|
{
|
801
841
|
"comment": "(default|*|name) as alias",
|
802
|
-
"match": "(?x) (?: \\b(default)\\b | (\\*) | ([_$[:alpha:]][_$[:alnum:]]*)) \\s+ (as) \\s+ (?: (\\b default \\b | \\*) | ([_$[:alpha:]][_$[:alnum:]]*))",
|
842
|
+
"match": "(?x) (?: \\b(default)\\b | (\\*) | ([_$[:alpha:]][_$[:alnum:]]*)) \\s+ \n (as) \\s+ (?: (\\b default \\b | \\*) | ([_$[:alpha:]][_$[:alnum:]]*))",
|
803
843
|
"captures": {
|
804
844
|
"1": {
|
805
845
|
"name": "keyword.control.default.ts"
|
@@ -908,7 +948,7 @@
|
|
908
948
|
"include": "#type-parameters"
|
909
949
|
},
|
910
950
|
{
|
911
|
-
"match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)",
|
951
|
+
"match": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\.)(?=\\s*[_$[:alpha:]][_$[:alnum:]]*(\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)*\\s*([,<{]|extends|implements|//|/\\*))",
|
912
952
|
"captures": {
|
913
953
|
"1": {
|
914
954
|
"name": "entity.name.type.module.ts"
|
@@ -919,12 +959,15 @@
|
|
919
959
|
}
|
920
960
|
},
|
921
961
|
{
|
922
|
-
"match": "([_$[:alpha:]][_$[:alnum:]]*)",
|
962
|
+
"match": "([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*([,<{]|extends|implements|//|/\\*))",
|
923
963
|
"captures": {
|
924
964
|
"1": {
|
925
965
|
"name": "entity.other.inherited-class.ts"
|
926
966
|
}
|
927
967
|
}
|
968
|
+
},
|
969
|
+
{
|
970
|
+
"include": "#expression"
|
928
971
|
}
|
929
972
|
]
|
930
973
|
},
|
@@ -1014,6 +1057,9 @@
|
|
1014
1057
|
{
|
1015
1058
|
"include": "#indexer-declaration"
|
1016
1059
|
},
|
1060
|
+
{
|
1061
|
+
"include": "#indexer-mapped-type-declaration"
|
1062
|
+
},
|
1017
1063
|
{
|
1018
1064
|
"include": "#field-declaration"
|
1019
1065
|
},
|
@@ -1039,12 +1085,15 @@
|
|
1039
1085
|
},
|
1040
1086
|
{
|
1041
1087
|
"include": "#punctuation-semicolon"
|
1088
|
+
},
|
1089
|
+
{
|
1090
|
+
"include": "#type"
|
1042
1091
|
}
|
1043
1092
|
]
|
1044
1093
|
},
|
1045
1094
|
"field-declaration": {
|
1046
1095
|
"name": "meta.field.declaration.ts",
|
1047
|
-
"begin": "(?<!\\()(?:(?<!\\.|\\$)\\b(readonly)\\s+)?(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[[^\\]]*\\]))\\s*(\\?\\s*)?(=|:))",
|
1096
|
+
"begin": "(?<!\\()(?:(?<!\\.|\\$)\\b(readonly)\\s+)?(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\?\\s*)?(=|:))",
|
1048
1097
|
"beginCaptures": {
|
1049
1098
|
"1": {
|
1050
1099
|
"name": "storage.modifier.ts"
|
@@ -1056,7 +1105,7 @@
|
|
1056
1105
|
"include": "#variable-initializer"
|
1057
1106
|
},
|
1058
1107
|
{
|
1059
|
-
"begin": "(?=((?:[_$[:alpha:]][_$[:alnum:]]*)|(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(\\[[^\\]]*\\]))\\s*(\\?\\s*)?(=|:))",
|
1108
|
+
"begin": "(?=((?:[_$[:alpha:]][_$[:alnum:]]*)|(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\?\\s*)?(=|:))",
|
1060
1109
|
"end": "(?=[};,=]|$)|(?<=\\})",
|
1061
1110
|
"patterns": [
|
1062
1111
|
{
|
@@ -1071,6 +1120,10 @@
|
|
1071
1120
|
{
|
1072
1121
|
"include": "#comment"
|
1073
1122
|
},
|
1123
|
+
{
|
1124
|
+
"name": "meta.definition.property.ts entity.name.function.ts",
|
1125
|
+
"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)"
|
1126
|
+
},
|
1074
1127
|
{
|
1075
1128
|
"name": "meta.definition.property.ts variable.object.property.ts",
|
1076
1129
|
"match": "[_$[:alpha:]][_$[:alnum:]]*"
|
@@ -1085,7 +1138,7 @@
|
|
1085
1138
|
},
|
1086
1139
|
"method-declaration": {
|
1087
1140
|
"name": "meta.method.declaration.ts",
|
1088
|
-
"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*[\\(\\<]))",
|
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*[\\(\\<]))",
|
1089
1142
|
"beginCaptures": {
|
1090
1143
|
"1": {
|
1091
1144
|
"name": "storage.modifier.ts"
|
@@ -1135,7 +1188,7 @@
|
|
1135
1188
|
]
|
1136
1189
|
},
|
1137
1190
|
"method-overload-declaration": {
|
1138
|
-
"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*[\\(\\<]))",
|
1191
|
+
"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*[\\(\\<]))",
|
1139
1192
|
"beginCaptures": {
|
1140
1193
|
"1": {
|
1141
1194
|
"name": "storage.modifier.ts"
|
@@ -1167,7 +1220,7 @@
|
|
1167
1220
|
]
|
1168
1221
|
},
|
1169
1222
|
"method-declaration-name": {
|
1170
|
-
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[[^\\]]*\\]))\\s*(\\??)\\s*[\\(\\<])",
|
1223
|
+
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??)\\s*[\\(\\<])",
|
1171
1224
|
"end": "(?=\\(|\\<)",
|
1172
1225
|
"patterns": [
|
1173
1226
|
{
|
@@ -1186,6 +1239,65 @@
|
|
1186
1239
|
}
|
1187
1240
|
]
|
1188
1241
|
},
|
1242
|
+
"object-literal-method-declaration": {
|
1243
|
+
"name": "meta.method.declaration.ts",
|
1244
|
+
"begin": "(?<!\\.|\\$)(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\<])",
|
1245
|
+
"beginCaptures": {
|
1246
|
+
"1": {
|
1247
|
+
"name": "storage.modifier.async.ts"
|
1248
|
+
},
|
1249
|
+
"2": {
|
1250
|
+
"name": "storage.type.property.ts"
|
1251
|
+
},
|
1252
|
+
"3": {
|
1253
|
+
"name": "keyword.generator.asterisk.ts"
|
1254
|
+
}
|
1255
|
+
},
|
1256
|
+
"end": "(?=\\}|;|,)|(?<=\\})",
|
1257
|
+
"patterns": [
|
1258
|
+
{
|
1259
|
+
"include": "#method-declaration-name"
|
1260
|
+
},
|
1261
|
+
{
|
1262
|
+
"include": "#comment"
|
1263
|
+
},
|
1264
|
+
{
|
1265
|
+
"include": "#type-parameters"
|
1266
|
+
},
|
1267
|
+
{
|
1268
|
+
"include": "#function-parameters"
|
1269
|
+
},
|
1270
|
+
{
|
1271
|
+
"include": "#return-type"
|
1272
|
+
},
|
1273
|
+
{
|
1274
|
+
"include": "#method-overload-declaration"
|
1275
|
+
},
|
1276
|
+
{
|
1277
|
+
"include": "#decl-block"
|
1278
|
+
}
|
1279
|
+
]
|
1280
|
+
},
|
1281
|
+
"object-literal-method-overload-declaration": {
|
1282
|
+
"begin": "(?<!\\.|\\$)(?:\\b(async)\\s+)?(?:\\b(get|set)\\s+)?(?:(\\*)\\s*)?(?=((([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(\\??))?\\s*[\\(\\<])",
|
1283
|
+
"beginCaptures": {
|
1284
|
+
"1": {
|
1285
|
+
"name": "storage.modifier.async.ts"
|
1286
|
+
},
|
1287
|
+
"2": {
|
1288
|
+
"name": "storage.type.property.ts"
|
1289
|
+
},
|
1290
|
+
"3": {
|
1291
|
+
"name": "keyword.generator.asterisk.ts"
|
1292
|
+
}
|
1293
|
+
},
|
1294
|
+
"end": "(?=\\(|\\<)",
|
1295
|
+
"patterns": [
|
1296
|
+
{
|
1297
|
+
"include": "#method-declaration-name"
|
1298
|
+
}
|
1299
|
+
]
|
1300
|
+
},
|
1189
1301
|
"indexer-declaration": {
|
1190
1302
|
"name": "meta.indexer.declaration.ts",
|
1191
1303
|
"begin": "(?:(?<!\\.|\\$)\\b(readonly)\\s*)?(\\[)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s*(?=:)",
|
@@ -1215,6 +1327,38 @@
|
|
1215
1327
|
}
|
1216
1328
|
]
|
1217
1329
|
},
|
1330
|
+
"indexer-mapped-type-declaration": {
|
1331
|
+
"name": "meta.indexer.mappedtype.declaration.ts",
|
1332
|
+
"begin": "(?:(?<!\\.|\\$)\\b(readonly)\\s*)?(\\[)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\s+(in)\\s+",
|
1333
|
+
"beginCaptures": {
|
1334
|
+
"1": {
|
1335
|
+
"name": "storage.modifier.ts"
|
1336
|
+
},
|
1337
|
+
"2": {
|
1338
|
+
"name": "meta.brace.square.ts"
|
1339
|
+
},
|
1340
|
+
"3": {
|
1341
|
+
"name": "entity.name.type.ts"
|
1342
|
+
},
|
1343
|
+
"4": {
|
1344
|
+
"name": "keyword.operator.expression.in.ts"
|
1345
|
+
}
|
1346
|
+
},
|
1347
|
+
"end": "(\\])\\s*(\\?\\s*)?|$",
|
1348
|
+
"endCaptures": {
|
1349
|
+
"1": {
|
1350
|
+
"name": "meta.brace.square.ts"
|
1351
|
+
},
|
1352
|
+
"2": {
|
1353
|
+
"name": "keyword.operator.optional.ts"
|
1354
|
+
}
|
1355
|
+
},
|
1356
|
+
"patterns": [
|
1357
|
+
{
|
1358
|
+
"include": "#type"
|
1359
|
+
}
|
1360
|
+
]
|
1361
|
+
},
|
1218
1362
|
"function-declaration": {
|
1219
1363
|
"name": "meta.function.ts",
|
1220
1364
|
"begin": "(?<!\\.|\\$)\\b(?:(export)\\s+)?(?:(async)\\s+)?(function\\b)(?:\\s*(\\*))?(?:(?:\\s+|(?<=\\*))([_$[:alpha:]][_$[:alnum:]]*))?\\s*",
|
@@ -1339,24 +1483,50 @@
|
|
1339
1483
|
]
|
1340
1484
|
},
|
1341
1485
|
"parameter-name": {
|
1342
|
-
"
|
1343
|
-
|
1344
|
-
|
1345
|
-
"
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1349
|
-
|
1350
|
-
"3": {
|
1351
|
-
"name": "keyword.operator.rest.ts"
|
1486
|
+
"patterns": [
|
1487
|
+
{
|
1488
|
+
"match": "\\s*\\b(public|protected|private|readonly)(?=\\s+(public|protected|private|readonly)\\s+)",
|
1489
|
+
"captures": {
|
1490
|
+
"1": {
|
1491
|
+
"name": "storage.modifier.ts"
|
1492
|
+
}
|
1493
|
+
}
|
1352
1494
|
},
|
1353
|
-
|
1354
|
-
"
|
1495
|
+
{
|
1496
|
+
"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)",
|
1497
|
+
"captures": {
|
1498
|
+
"1": {
|
1499
|
+
"name": "storage.modifier.ts"
|
1500
|
+
},
|
1501
|
+
"2": {
|
1502
|
+
"name": "keyword.operator.rest.ts"
|
1503
|
+
},
|
1504
|
+
"3": {
|
1505
|
+
"name": "entity.name.function.ts"
|
1506
|
+
},
|
1507
|
+
"4": {
|
1508
|
+
"name": "keyword.operator.optional.ts"
|
1509
|
+
}
|
1510
|
+
}
|
1355
1511
|
},
|
1356
|
-
|
1357
|
-
"
|
1512
|
+
{
|
1513
|
+
"match": "(?:\\s*\\b(public|private|protected|readonly)\\s+)?(\\.\\.\\.)?\\s*(?<!=|:)([_$[:alpha:]][_$[:alnum:]]*)\\s*(\\??)",
|
1514
|
+
"captures": {
|
1515
|
+
"1": {
|
1516
|
+
"name": "storage.modifier.ts"
|
1517
|
+
},
|
1518
|
+
"2": {
|
1519
|
+
"name": "keyword.operator.rest.ts"
|
1520
|
+
},
|
1521
|
+
"3": {
|
1522
|
+
"name": "variable.parameter.ts"
|
1523
|
+
},
|
1524
|
+
"4": {
|
1525
|
+
"name": "keyword.operator.optional.ts"
|
1526
|
+
}
|
1527
|
+
}
|
1358
1528
|
}
|
1359
|
-
|
1529
|
+
]
|
1360
1530
|
},
|
1361
1531
|
"destructuring-parameter": {
|
1362
1532
|
"patterns": [
|
@@ -1396,7 +1566,10 @@
|
|
1396
1566
|
},
|
1397
1567
|
"patterns": [
|
1398
1568
|
{
|
1399
|
-
"include": "#parameter-
|
1569
|
+
"include": "#parameter-binding-element"
|
1570
|
+
},
|
1571
|
+
{
|
1572
|
+
"include": "#punctuation-comma"
|
1400
1573
|
}
|
1401
1574
|
]
|
1402
1575
|
}
|
@@ -1408,29 +1581,14 @@
|
|
1408
1581
|
"include": "#comment"
|
1409
1582
|
},
|
1410
1583
|
{
|
1411
|
-
"begin": "([_$[:alpha:]][_$[:alnum:]]*)\\s*(:)",
|
1412
|
-
"beginCaptures": {
|
1413
|
-
"1": {
|
1414
|
-
"name": "variable.object.property.ts"
|
1415
|
-
},
|
1416
|
-
"2": {
|
1417
|
-
"name": "punctuation.destructuring.ts"
|
1418
|
-
}
|
1419
|
-
},
|
1584
|
+
"begin": "(?=(([_$[:alpha:]][_$[:alnum:]]*)|(\\'[^']*\\')|(\\\"[^\"]*\\\")|(\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*(:))",
|
1420
1585
|
"end": "(?=,|\\})",
|
1421
1586
|
"patterns": [
|
1422
1587
|
{
|
1423
|
-
"include": "#
|
1424
|
-
},
|
1425
|
-
{
|
1426
|
-
"include": "#parameter-array-binding-pattern"
|
1588
|
+
"include": "#object-binding-element-propertyName"
|
1427
1589
|
},
|
1428
1590
|
{
|
1429
|
-
"
|
1430
|
-
"match": "([_$[:alpha:]][_$[:alnum:]]*)"
|
1431
|
-
},
|
1432
|
-
{
|
1433
|
-
"include": "#variable-initializer"
|
1591
|
+
"include": "#parameter-binding-element"
|
1434
1592
|
}
|
1435
1593
|
]
|
1436
1594
|
},
|
@@ -1448,7 +1606,7 @@
|
|
1448
1606
|
}
|
1449
1607
|
]
|
1450
1608
|
},
|
1451
|
-
"parameter-
|
1609
|
+
"parameter-binding-element": {
|
1452
1610
|
"patterns": [
|
1453
1611
|
{
|
1454
1612
|
"include": "#comment"
|
@@ -1464,9 +1622,6 @@
|
|
1464
1622
|
},
|
1465
1623
|
{
|
1466
1624
|
"include": "#variable-initializer"
|
1467
|
-
},
|
1468
|
-
{
|
1469
|
-
"include": "#punctuation-comma"
|
1470
1625
|
}
|
1471
1626
|
]
|
1472
1627
|
},
|
@@ -1521,7 +1676,10 @@
|
|
1521
1676
|
},
|
1522
1677
|
"patterns": [
|
1523
1678
|
{
|
1524
|
-
"include": "#parameter-
|
1679
|
+
"include": "#parameter-binding-element"
|
1680
|
+
},
|
1681
|
+
{
|
1682
|
+
"include": "#punctuation-comma"
|
1525
1683
|
}
|
1526
1684
|
]
|
1527
1685
|
},
|
@@ -1681,9 +1839,9 @@
|
|
1681
1839
|
},
|
1682
1840
|
"type-paren-or-function-parameters": {
|
1683
1841
|
"name": "meta.type.paren.cover.ts",
|
1684
|
-
"begin": "\\
|
1842
|
+
"begin": "\\(",
|
1685
1843
|
"beginCaptures": {
|
1686
|
-
"
|
1844
|
+
"0": {
|
1687
1845
|
"name": "meta.brace.round.ts"
|
1688
1846
|
}
|
1689
1847
|
},
|
@@ -1740,7 +1898,7 @@
|
|
1740
1898
|
},
|
1741
1899
|
{
|
1742
1900
|
"name": "meta.type.function.ts",
|
1743
|
-
"begin": "(?x)(
|
1901
|
+
"begin": "(?x)(\n (?=\n [(]\\s*(\n ([)]) | \n (\\.\\.\\.) |\n ([_$[:alnum:]]+\\s*(\n ([:,?=])|\n ([)]\\s*=>)\n ))\n )\n )\n)",
|
1744
1902
|
"end": "(?<=\\))",
|
1745
1903
|
"patterns": [
|
1746
1904
|
{
|
@@ -1758,6 +1916,10 @@
|
|
1758
1916
|
{
|
1759
1917
|
"name": "keyword.operator.type.ts",
|
1760
1918
|
"match": "[&|]"
|
1919
|
+
},
|
1920
|
+
{
|
1921
|
+
"name": "keyword.operator.expression.keyof.ts",
|
1922
|
+
"match": "(?<!\\.|\\$)\\bkeyof\\b(?!\\$)"
|
1761
1923
|
}
|
1762
1924
|
]
|
1763
1925
|
},
|
@@ -1889,12 +2051,15 @@
|
|
1889
2051
|
]
|
1890
2052
|
},
|
1891
2053
|
"for-loop": {
|
1892
|
-
"begin": "(?<!\\.|\\$)\\b(for)
|
2054
|
+
"begin": "(?<!\\.|\\$)\\b(for)(?:\\s+(await))?\\s*(\\()",
|
1893
2055
|
"beginCaptures": {
|
1894
2056
|
"1": {
|
1895
2057
|
"name": "keyword.control.loop.ts"
|
1896
2058
|
},
|
1897
2059
|
"2": {
|
2060
|
+
"name": "keyword.control.loop.ts"
|
2061
|
+
},
|
2062
|
+
"3": {
|
1898
2063
|
"name": "meta.brace.round.ts"
|
1899
2064
|
}
|
1900
2065
|
},
|
@@ -1941,7 +2106,7 @@
|
|
1941
2106
|
},
|
1942
2107
|
"switch-block": {
|
1943
2108
|
"name": "switch-block.expr.ts",
|
1944
|
-
"begin": "{",
|
2109
|
+
"begin": "\\{",
|
1945
2110
|
"beginCaptures": {
|
1946
2111
|
"0": {
|
1947
2112
|
"name": "punctuation.definition.block.ts"
|
@@ -1980,7 +2145,7 @@
|
|
1980
2145
|
"switch-statement": {
|
1981
2146
|
"name": "switch-statement.expr.ts",
|
1982
2147
|
"begin": "(?<!\\.|\\$)(?=\\bswitch\\s*\\()",
|
1983
|
-
"end": "}",
|
2148
|
+
"end": "\\}",
|
1984
2149
|
"endCaptures": {
|
1985
2150
|
"0": {
|
1986
2151
|
"name": "punctuation.definition.block.ts"
|
@@ -2003,7 +2168,7 @@
|
|
2003
2168
|
},
|
2004
2169
|
{
|
2005
2170
|
"name": "support.class.builtin.ts",
|
2006
|
-
"match": "(?x)(?<!\\.|\\$)\\b(Array|ArrayBuffer|Atomics|Boolean|DataView|Date|Float32Array|Float64Array|Function|Generator
|
2171
|
+
"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(?!\\$)"
|
2007
2172
|
},
|
2008
2173
|
{
|
2009
2174
|
"name": "support.class.error.ts",
|
@@ -2011,7 +2176,7 @@
|
|
2011
2176
|
},
|
2012
2177
|
{
|
2013
2178
|
"name": "support.function.ts",
|
2014
|
-
"match": "(?x)(?<!\\.|\\$)\\b(clear(Interval|Timeout)|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|eval
|
2179
|
+
"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*\\() "
|
2015
2180
|
},
|
2016
2181
|
{
|
2017
2182
|
"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(?!\\$)",
|
@@ -2163,17 +2328,19 @@
|
|
2163
2328
|
]
|
2164
2329
|
},
|
2165
2330
|
"function-call": {
|
2166
|
-
"begin": "(
|
2167
|
-
"
|
2168
|
-
"1": {
|
2169
|
-
"name": "punctuation.accessor.ts"
|
2170
|
-
},
|
2171
|
-
"2": {
|
2172
|
-
"name": "entity.name.function.ts"
|
2173
|
-
}
|
2174
|
-
},
|
2175
|
-
"end": "(?<=\\))",
|
2331
|
+
"begin": "(?=(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()",
|
2332
|
+
"end": "(?<=\\))(?!(\\.\\s*)?([_$[:alpha:]][_$[:alnum:]]*)\\s*(<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\()",
|
2176
2333
|
"patterns": [
|
2334
|
+
{
|
2335
|
+
"include": "#support-objects"
|
2336
|
+
},
|
2337
|
+
{
|
2338
|
+
"include": "#punctuation-accessor"
|
2339
|
+
},
|
2340
|
+
{
|
2341
|
+
"name": "entity.name.function.ts",
|
2342
|
+
"match": "([_$[:alpha:]][_$[:alnum:]]*)"
|
2343
|
+
},
|
2177
2344
|
{
|
2178
2345
|
"include": "#comment"
|
2179
2346
|
},
|
@@ -2218,7 +2385,7 @@
|
|
2218
2385
|
"name": "punctuation.accessor.ts"
|
2219
2386
|
},
|
2220
2387
|
"2": {
|
2221
|
-
"name": "
|
2388
|
+
"name": "variable.other.constant.object.property.ts"
|
2222
2389
|
},
|
2223
2390
|
"3": {
|
2224
2391
|
"name": "variable.other.object.property.ts"
|
@@ -2226,7 +2393,7 @@
|
|
2226
2393
|
}
|
2227
2394
|
},
|
2228
2395
|
{
|
2229
|
-
"match": "(?x)(?:(\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*(
|
2396
|
+
"match": "(?x)(?:(\\.)\\s*)?([_$[:alpha:]][_$[:alnum:]]*)(?=\\s*=\\s*(\n (async\\s+)|(function\\s*[(<])|(function\\s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=>)|\n ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>)))",
|
2230
2397
|
"captures": {
|
2231
2398
|
"1": {
|
2232
2399
|
"name": "punctuation.accessor.ts"
|
@@ -2243,7 +2410,7 @@
|
|
2243
2410
|
"name": "punctuation.accessor.ts"
|
2244
2411
|
},
|
2245
2412
|
"2": {
|
2246
|
-
"name": "
|
2413
|
+
"name": "variable.other.constant.property.ts"
|
2247
2414
|
}
|
2248
2415
|
}
|
2249
2416
|
},
|
@@ -2262,7 +2429,7 @@
|
|
2262
2429
|
"match": "(?x)(?:\n ([[:upper:]][_$[:digit:][:upper:]]*) |\n ([_$[:alpha:]][_$[:alnum:]]*)\n)(?=\\s*\\.\\s*[_$[:alpha:]][_$[:alnum:]]*)",
|
2263
2430
|
"captures": {
|
2264
2431
|
"1": {
|
2265
|
-
"name": "
|
2432
|
+
"name": "variable.other.constant.object.ts"
|
2266
2433
|
},
|
2267
2434
|
"2": {
|
2268
2435
|
"name": "variable.other.object.ts"
|
@@ -2270,7 +2437,7 @@
|
|
2270
2437
|
}
|
2271
2438
|
},
|
2272
2439
|
{
|
2273
|
-
"name": "
|
2440
|
+
"name": "variable.other.constant.ts",
|
2274
2441
|
"match": "([[:upper:]][_$[:digit:][:upper:]]*)(?![_$[:alnum:]])"
|
2275
2442
|
},
|
2276
2443
|
{
|
@@ -2281,13 +2448,13 @@
|
|
2281
2448
|
},
|
2282
2449
|
"cast": {
|
2283
2450
|
"name": "cast.expr.ts",
|
2284
|
-
"begin": "(?:(?<=return|throw|yield|await|default
|
2451
|
+
"begin": "(?:(?<=return|throw|yield|await|default|^|[=(,:>*]))\\s*(<)(?!<?\\=)",
|
2285
2452
|
"beginCaptures": {
|
2286
2453
|
"1": {
|
2287
2454
|
"name": "meta.brace.angle.ts"
|
2288
2455
|
}
|
2289
2456
|
},
|
2290
|
-
"end": "
|
2457
|
+
"end": "\\>",
|
2291
2458
|
"endCaptures": {
|
2292
2459
|
"0": {
|
2293
2460
|
"name": "meta.brace.angle.ts"
|
@@ -2312,6 +2479,9 @@
|
|
2312
2479
|
{
|
2313
2480
|
"include": "#paren-expression"
|
2314
2481
|
},
|
2482
|
+
{
|
2483
|
+
"include": "#class-or-interface-declaration"
|
2484
|
+
},
|
2315
2485
|
{
|
2316
2486
|
"include": "#type"
|
2317
2487
|
}
|
@@ -2323,16 +2493,16 @@
|
|
2323
2493
|
"include": "#comment"
|
2324
2494
|
},
|
2325
2495
|
{
|
2326
|
-
"include": "#method-declaration"
|
2496
|
+
"include": "#object-literal-method-declaration"
|
2327
2497
|
},
|
2328
2498
|
{
|
2329
2499
|
"name": "meta.object.member.ts",
|
2330
|
-
"begin": "(?=(?:(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(?:\\[[^\\]]*\\]))\\s*:)",
|
2500
|
+
"begin": "(?=(?:(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(?:\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*:)",
|
2331
2501
|
"end": "(?=,|\\})",
|
2332
2502
|
"patterns": [
|
2333
2503
|
{
|
2334
2504
|
"name": "meta.object-literal.key.ts",
|
2335
|
-
"begin": "(?=(?:(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(?:\\[[^\\]]*\\]))\\s*:)",
|
2505
|
+
"begin": "(?=(?:(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\")|(?:\\[([^\\[\\]]|\\[[^\\[\\]]*\\])+\\]))\\s*:)",
|
2336
2506
|
"end": ":",
|
2337
2507
|
"endCaptures": {
|
2338
2508
|
"0": {
|
@@ -2355,7 +2525,7 @@
|
|
2355
2525
|
},
|
2356
2526
|
{
|
2357
2527
|
"name": "meta.object.member.ts",
|
2358
|
-
"begin": "(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\\s*(:)(?=\\s*(
|
2528
|
+
"begin": "(?x)(?:([_$[:alpha:]][_$[:alnum:]]*)\\s*(:)(?=\\s*(\n (async\\s+)|(function\\s*[(<])|(function\\s+)|\n ([_$[:alpha:]][_$[:alnum:]]*\\s*=>)|\n ((<([^<>]|\\<[^<>]+\\>)+>\\s*)?\\(([^()]|\\([^()]*\\))*\\)(\\s*:\\s*(.)*)?\\s*=>))))",
|
2359
2529
|
"beginCaptures": {
|
2360
2530
|
"0": {
|
2361
2531
|
"name": "meta.object-literal.key.ts"
|
@@ -2515,6 +2685,14 @@
|
|
2515
2685
|
{
|
2516
2686
|
"name": "keyword.operator.arithmetic.ts",
|
2517
2687
|
"match": "%|\\*|/|-|\\+"
|
2688
|
+
},
|
2689
|
+
{
|
2690
|
+
"match": "(?<=[_$[:alnum:])])\\s*(/)(?![/*])",
|
2691
|
+
"captures": {
|
2692
|
+
"1": {
|
2693
|
+
"name": "keyword.operator.arithmetic.ts"
|
2694
|
+
}
|
2695
|
+
}
|
2518
2696
|
}
|
2519
2697
|
]
|
2520
2698
|
},
|
@@ -2686,7 +2864,7 @@
|
|
2686
2864
|
"patterns": [
|
2687
2865
|
{
|
2688
2866
|
"name": "string.regex.ts",
|
2689
|
-
"begin": "(?<=[=(:,\\[?+!]|return|case|=>|&&|\\|\\||\\*\\/)\\s*(/)(?![
|
2867
|
+
"begin": "(?<=[=(:,\\[?+!]|return|case|=>|&&|\\|\\||\\*\\/)\\s*(/)(?![/*])(?=(?:[^/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+/(?![/*])[gimy]*(?!\\s*[a-zA-Z0-9_$]))",
|
2690
2868
|
"beginCaptures": {
|
2691
2869
|
"1": {
|
2692
2870
|
"name": "punctuation.definition.string.begin.ts"
|
@@ -2709,7 +2887,7 @@
|
|
2709
2887
|
},
|
2710
2888
|
{
|
2711
2889
|
"name": "string.regex.ts",
|
2712
|
-
"begin": "/(?![/*])(?=(?:[^/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+/(?![/*])[gimy]*(?!\\s*[a-zA-Z0-9_$]))",
|
2890
|
+
"begin": "(?<![_$[:alnum:]])/(?![/*])(?=(?:[^/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+/(?![/*])[gimy]*(?!\\s*[a-zA-Z0-9_$]))",
|
2713
2891
|
"beginCaptures": {
|
2714
2892
|
"0": {
|
2715
2893
|
"name": "punctuation.definition.string.begin.ts"
|
@@ -2875,7 +3053,6 @@
|
|
2875
3053
|
]
|
2876
3054
|
},
|
2877
3055
|
"string": {
|
2878
|
-
"name": "string.ts",
|
2879
3056
|
"patterns": [
|
2880
3057
|
{
|
2881
3058
|
"include": "#qstring-single"
|
@@ -3082,8 +3259,13 @@
|
|
3082
3259
|
{
|
3083
3260
|
"name": "comment.block.documentation.ts",
|
3084
3261
|
"begin": "/\\*\\*(?!/)",
|
3262
|
+
"beginCaptures": {
|
3263
|
+
"0": {
|
3264
|
+
"name": "punctuation.definition.comment.ts"
|
3265
|
+
}
|
3266
|
+
},
|
3085
3267
|
"end": "\\*/",
|
3086
|
-
"
|
3268
|
+
"endCaptures": {
|
3087
3269
|
"0": {
|
3088
3270
|
"name": "punctuation.definition.comment.ts"
|
3089
3271
|
}
|
@@ -3097,8 +3279,13 @@
|
|
3097
3279
|
{
|
3098
3280
|
"name": "comment.block.ts",
|
3099
3281
|
"begin": "/\\*",
|
3282
|
+
"beginCaptures": {
|
3283
|
+
"0": {
|
3284
|
+
"name": "punctuation.definition.comment.ts"
|
3285
|
+
}
|
3286
|
+
},
|
3100
3287
|
"end": "\\*/",
|
3101
|
-
"
|
3288
|
+
"endCaptures": {
|
3102
3289
|
"0": {
|
3103
3290
|
"name": "punctuation.definition.comment.ts"
|
3104
3291
|
}
|
@@ -3127,14 +3314,75 @@
|
|
3127
3314
|
}
|
3128
3315
|
]
|
3129
3316
|
},
|
3317
|
+
"directives": {
|
3318
|
+
"name": "comment.line.triple-slash.directive.ts",
|
3319
|
+
"begin": "^(///)\\s*(?=<(reference|amd-dependency|amd-module)(\\s+(path|types|no-default-lib|name)\\s*=\\s*((\\'[^']*\\')|(\\\"[^\"]*\\\")))+\\s*/>\\s*$)",
|
3320
|
+
"beginCaptures": {
|
3321
|
+
"1": {
|
3322
|
+
"name": "punctuation.definition.comment.ts"
|
3323
|
+
}
|
3324
|
+
},
|
3325
|
+
"end": "(?=$)",
|
3326
|
+
"patterns": [
|
3327
|
+
{
|
3328
|
+
"name": "meta.tag.ts",
|
3329
|
+
"begin": "(<)(reference|amd-dependency|amd-module)",
|
3330
|
+
"beginCaptures": {
|
3331
|
+
"1": {
|
3332
|
+
"name": "punctuation.definition.tag.directive.ts"
|
3333
|
+
},
|
3334
|
+
"2": {
|
3335
|
+
"name": "entity.name.tag.directive.ts"
|
3336
|
+
}
|
3337
|
+
},
|
3338
|
+
"end": "/>",
|
3339
|
+
"endCaptures": {
|
3340
|
+
"0": {
|
3341
|
+
"name": "punctuation.definition.tag.directive.ts"
|
3342
|
+
}
|
3343
|
+
},
|
3344
|
+
"patterns": [
|
3345
|
+
{
|
3346
|
+
"name": "entity.other.attribute-name.directive.ts",
|
3347
|
+
"match": "path|types|no-default-lib|name"
|
3348
|
+
},
|
3349
|
+
{
|
3350
|
+
"name": "keyword.operator.assignment.ts",
|
3351
|
+
"match": "="
|
3352
|
+
},
|
3353
|
+
{
|
3354
|
+
"include": "#string"
|
3355
|
+
}
|
3356
|
+
]
|
3357
|
+
}
|
3358
|
+
]
|
3359
|
+
},
|
3130
3360
|
"docblock": {
|
3131
3361
|
"patterns": [
|
3132
3362
|
{
|
3133
3363
|
"name": "storage.type.class.jsdoc",
|
3134
|
-
"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|
|
3364
|
+
"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"
|
3365
|
+
},
|
3366
|
+
{
|
3367
|
+
"name": "other.meta.jsdoc",
|
3368
|
+
"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)",
|
3369
|
+
"captures": {
|
3370
|
+
"0": {
|
3371
|
+
"name": "entity.name.type.instance.jsdoc"
|
3372
|
+
},
|
3373
|
+
"1": {
|
3374
|
+
"name": "constant.other.description.jsdoc"
|
3375
|
+
},
|
3376
|
+
"2": {
|
3377
|
+
"name": "storage.type.class.jsdoc"
|
3378
|
+
},
|
3379
|
+
"3": {
|
3380
|
+
"name": "variable.other.description.jsdoc"
|
3381
|
+
}
|
3382
|
+
}
|
3135
3383
|
},
|
3136
3384
|
{
|
3137
|
-
"match": "(?x)\n(?:(?<=@param)|(?<=@arg)|(?<=@argument)|(?<=@type))\n\\s+\n({(?:\n \\* |
|
3385
|
+
"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",
|
3138
3386
|
"captures": {
|
3139
3387
|
"0": {
|
3140
3388
|
"name": "other.meta.jsdoc"
|
@@ -3151,7 +3399,7 @@
|
|
3151
3399
|
}
|
3152
3400
|
},
|
3153
3401
|
{
|
3154
|
-
"match": "(?x)\n({(?:\n \\* | # {*} any type\n \\? | # {?} unknown type\n\n (?:
|
3402
|
+
"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",
|
3155
3403
|
"captures": {
|
3156
3404
|
"0": {
|
3157
3405
|
"name": "other.meta.jsdoc"
|