-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathTypescript.JSON-tmLanguage
519 lines (494 loc) · 20.4 KB
/
Typescript.JSON-tmLanguage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
{
"name": "TypeScript",
"scopeName": "source.ts",
"fileTypes": ["ts"],
"patterns": [
{ "include": "#shebang" },
{ "include": "#expression" }
],
"repository": {
"shebang": {
"comment": "node.js shebang",
"name": "comment.line.ts",
"match": "^#![\\S]+ node"
},
"string-quoted-single": {
"name": "string.quoted.single.ts",
"begin": "'",
"end": "'",
"beginCaptures": {
"0": { "name": "punctuation.definition.string.begin.ts" }
},
"endCaptures": {
"0": { "name": "punctuation.definition.string.end.ts" }
},
"patterns": [
{
"name": "constant.character.escape.ts",
"match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"
}
]
},
"string-quoted-double": {
"name": "string.quoted.double.ts",
"begin": "\"",
"end": "\"",
"beginCaptures": {
"0": { "name": "punctuation.definition.string.begin.ts" }
},
"endCaptures": {
"0": { "name": "punctuation.definition.string.end.ts" }
},
"patterns": [
{
"name": "constant.character.escape.ts",
"match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"
}
]
},
"string": {
"name": "string.ts",
"patterns": [
{ "include": "#string-quoted-single" },
{ "include": "#string-quoted-double" }
]
},
"regexp": {
"begin": "(?<=[=(:]|^|return|&&|\\|\\||!)\\s*(/)(?![/*+{}?])",
"end": "(/)[igm]*",
"name": "string.regexp.ts",
"endCaptures": {
"1": { "name": "punctuation.definition.string.end.ts" }
},
"beginCaptures": {
"1": { "name": "punctuation.definition.string.begin.ts" }
},
"patterns": [
{
"name": "constant.character.escape.ts",
"match": "\\\\."
}
]
},
"comment-block-doc": {
"name": "comment.block.documentation.ts",
"begin": "/\\*\\*(?!/)",
"end": "\\*/",
"captures": {
"0": { "name": "punctuation.definition.comment.ts" }
}
},
"comment-block": {
"name": "comment.block.ts",
"begin": "/\\*",
"end": "\\*/",
"captures": {
"0": { "name": "punctuation.definition.comment.ts" }
}
},
"comment-block-html": {
"name": "comment.block.html.js",
"match": "(<!--|-->)",
"captures": {
"0": { "name": "punctuation.definition.comment.html.js" },
"2": { "name": "punctuation.definition.comment.html.js" }
}
},
"comment-line": {
"name": "comment.line.double-slash.ts",
"match": "(//).*$\n?",
"captures": {
"1": { "name": "punctuation.definition.comment.ts" }
}
},
"comment": {
"name": "comment.ts",
"patterns": [
{ "include": "#comment-block-doc" },
{ "include": "#comment-block" },
{ "include": "#comment-block-html" },
{ "include": "#comment-line" }
]
},
"block-braces-round": {
"name": "meta.expression.braces.round",
"begin": "\\(",
"end": "\\)",
"beginCaptures": {
"0": { "name": "meta.brace.round.ts" }
},
"endCaptures": {
"0": { "name": "meta.brace.round.ts" }
},
"patterns": [
{ "include": "#expression" }
]
},
"block-braces-curly": {
"name": "meta.expression.braces.curly",
"begin": "\\{",
"end": "\\}",
"beginCaptures": {
"0": { "name": "meta.brace.curly.ts" }
},
"endCaptures": {
"0": { "name": "meta.brace.curly.ts" }
},
"patterns": [
{ "include": "#expression" }
]
},
"block-braces-square": {
"name": "meta.expression.braces.square",
"begin": "\\[",
"end": "\\]",
"beginCaptures": {
"0": { "name": "meta.brace.square.ts" }
},
"endCaptures": {
"0": { "name": "meta.brace.square.ts" }
},
"patterns": [
{ "include": "#expression" }
]
},
"block": {
"name": "block.ts",
"patterns": [
{ "include": "#block-braces-curly" },
{ "include": "#block-braces-round" },
{ "include": "#block-braces-square" }
]
},
"module-expression": {
"name": "meta.module.ts",
"begin": "\\b(module)\\b(?:\\s+([a-zA-Z_$][\\w$]*))?",
"end": "(?=\\})",
"beginCaptures": {
"1": { "name": "storage.type.module.ts" },
"2": { "name": "entity.name.type.module.ts" }
},
"endCaptures": {
"0": { "name": "meta.brace.curly.ts" }
},
"patterns": [
{ "include": "#expression" }
]
},
"class-expression": {
"name": "meta.class.ts",
"begin": "\\b(class|interface)\\b(?:\\s+([a-zA-Z_$][\\w$]*))?",
"end": "(?=\\})",
"beginCaptures": {
"1": { "name": "storage.type.class.ts" },
"2": { "name": "entity.name.type.class.ts" }
},
"endCaptures": {
"0": { "name": "meta.brace.curly.ts" }
},
"patterns": [
{ "include": "#comment" },
{ "include": "#meta-class-body" },
{ "include": "#expression" }
]
},
"meta-storage-modifier": {
"name": "storage.modifier.ts",
"match": "\\b(const|export|extends|final|implements|native|private|protected|public|static|synchronized|throws|transient|volatile)\\b"
},
"meta-variable-type": {
"begin":":",
"end": "(?=[,);=])",
"patterns": [
{ "include": "#expression" }
]
},
"meta-variable-initializer": {
"begin": "(=)",
"end": "(?=[,);=])",
"beginCaptures": {
"1": { "name": "keyword.operator.ts" }
},
"patterns": [
{ "include": "#expression" }
]
},
"meta-class-body": {
"name": "meta.expression.body.class",
"begin": "\\{",
"end": "(?=\\})",
"beginCaptures": {
"0": { "name": "meta.brace.curly.ts" }
},
"endCaptures": {},
"patterns": [
{ "include": "#comment" },
{ "include": "#meta-storage-modifier" },
{ "include": "#meta-class-member-attribute" },
{ "include": "#meta-class-member-method" }
]
},
"meta-class-member-attribute": {
"begin": "\\b([a-zA-Z_$][\\w$]*)\\s*(\\?\\s*)?(?=(=|:))",
"end": "(;)",
"beginCaptures": {
"1": { "name": "meta.toc-list.class.member.ts" }
},
"endCaptures": {
"1": { "name": "punctuation.terminator.statement.ts" }
},
"patterns": [
{ "include": "#meta-variable-type" },
{ "include": "#meta-variable-initializer" }
]
},
"meta-class-member-method": {
"name": "meta.class.member.ts",
"begin": "\\b(?:(get|set)\\s+)?([a-zA-Z_$][\\w$]*)\\s*(?=\\()",
"end": "(\\})|(;)",
"beginCaptures": {
"1": { "name": "storage.type.property.ts" },
"2": { "name": "entity.name.function.ts" }
},
"endCaptures": {
"1": { "name": "meta.brace.curly.ts" },
"2": { "name": "punctuation.terminator.statement.ts" }
},
"patterns": [
{ "include": "#comment" },
{ "include": "#meta-function-parameters" },
{ "include": "#misc-higlighting" },
{ "include": "#meta-function-body" }
]
},
"meta-function-parameters": {
"name": "meta.expression.body.class",
"begin": "\\(",
"end": "\\)",
"beginCaptures": {
"0": { "name": "punctuation.definition.parameters.begin.ts" }
},
"endCaptures": {
"0": { "name": "punctuation.definition.parameters.end.ts" }
},
"patterns": [
{ "include": "#comment" },
{ "include": "#meta-storage-modifier" },
{
"name": "variable.parameter.function.ts",
"match": "[a-zA-Z_$][\\w$]*"
},
{ "include": "#meta-variable-type" },
{ "include": "#meta-variable-initializer" }
]
},
"meta-function-body": {
"name": "meta.expression.body.function",
"begin": "\\{",
"end": "(?=\\})",
"beginCaptures": {
"0": { "name": "meta.brace.curly.ts" }
},
"endCaptures": {
"0": { "name": "meta.brace.curly.ts" }
},
"patterns": [
{ "include": "#expression" }
]
},
"meta-function-assignment": {
"match": "\\b([a-zA-Z_$][\\w$]*)\\s*(?:(=)|:)\\s*(?=(\\bfunction\\b))",
"captures": {
"1": { "name": "entity.name.function.ts" },
"2": { "name": "keyword.operator.ts" }
}
},
"meta-function-assignment-quoted": {
"match": "(?:((')([^']*)('))|((\")([^\"]+)(\")))\\s*:\\s*(?=\\bfunction\\b)",
"captures": {
"1": { "name": "string.quoted.single.ts" },
"2": { "name": "punctuation.definition.string.begin.ts" },
"3": { "name": "entity.name.function.ts" },
"4": { "name": "punctuation.definition.string.end.ts" },
"5": { "name": "string.quoted.double.ts" },
"6": { "name": "punctuation.definition.string.begin.ts" },
"7": { "name": "entity.name.function.ts" },
"8": { "name": "punctuation.definition.string.end.ts" }
}
},
"meta-function": {
"begin": "\\b(function)(?:\\s+([a-zA-Z_$][\\w$]*))?\\s*",
"end": "(\\})|(;)",
"beginCaptures": {
"1": { "name": "storage.type.property.ts" },
"2": { "name": "entity.name.function.ts" }
},
"beginCaptures": {
"0": { "name": "meta.function.ts" },
"1": { "name": "storage.type.function.ts" },
"2": { "name": "entity.name.function.ts" }
},
"endCaptures": {
"0": { "name": "meta.brace.curly.ts" }
},
"patterns": [
{ "include": "#comment" },
{ "include": "#meta-function-parameters" },
{ "include": "#meta-function-body" },
{ "include": "#misc-higlighting" }
]
},
"function": {
"name": "meta.function.ts",
"patterns": [
{ "include": "#meta-function-assignment" },
{ "include": "#meta-function-assignment-quoted" },
{ "include": "#meta-function" }
]
},
"misc-higlighting": {
"name": "misc.ts",
"comment": "This patterns are not affecting scope rules and are usefull for higlighting purposes only",
"patterns": [
{
"name": "meta.class.instance.constructor",
"match": "(new)\\s+(\\w+(?:\\.[\\w$]*)*)",
"captures": {
"1": { "name": "keyword.operator.new.ts" },
"2": { "name": "entity.name.type.instance.ts" }
}
},
{
"name": "meta.object.ts.firebug",
"match": "\\b(console)\\.(warn|info|log|error|time|timeEnd|assert)\\b",
"captures": {
"1": { "name": "entity.name.type.object.ts.firebug" },
"2": { "name": "support.function.ts.firebug" }
}
},
{
"name": "entity.name.type.object.ts.firebug",
"match": "\\b(console)\\b"
},
{
"name": "constant.numeric.ts",
"match": "\\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))\\b"
},
{
"name": "storage.type.ts",
"match": "\\b(boolean|byte|char|class|double|enum|float|function|int|interface|long|number|short|string|var|void)\\b"
},
{
"include": "#meta-storage-modifier"
},
{
"name": "keyword.control.ts",
"match": "\\b(break|case|catch|continue|declare|default|do|else|finally|for|goto|if|import|package|return|switch|throw|try|while)\\b"
},
{
"name": "keyword.operator.ts",
"match": "\\b(delete|in|instanceof|new|typeof|with)\\b"
},
{
"name": "constant.language.boolean.true.ts",
"match": "\\btrue\\b"
},
{
"name": "constant.language.boolean.false.ts",
"match": "\\bfalse\\b"
},
{
"name": "constant.language.null.ts",
"match": "\\bnull\\b"
},
{
"name": "support.constant.ts",
"match": "\\b(super|this)\\b"
},
{
"name": "meta.prototype.ts",
"match": "(\\.)(prototype|__proto__)\\b",
"captures": {
"1": { "name": "meta.delimiter.method.period.ts" },
"2": { "name": "support.constant.ts" }
}
},
{
"name": "keyword.other.ts",
"match": "\\b(debugger)\\b"
},
{
"name": "support.class.ts",
"match": "\\b(Anchor|Applet|Area|Array|Boolean|Button|Checkbox|Date|document|event|FileUpload|Form|Frame|Function|Hidden|History|Image|JavaArray|JavaClass|JavaObject|JavaPackage|java|Layer|Link|Location|Math|MimeType|Number|navigator|netscape|Object|Option|Packages|Password|Plugin|Radio|RegExp|Reset|Select|String|Style|Submit|screen|sun|Text|Textarea|window|XMLHttpRequest)\\b"
},
{
"name": "support.function.ts",
"match": "\\b(require|module\\.exports|module\\.id|exports)\\b"
},
{
"name": "support.function.ts",
"match": "\\b(s(h(ift|ow(Mod(elessDialog|alDialog)|Help))|croll(X|By(Pages|Lines)?|Y|To)?|t(op|rike)|i(n|zeToContent|debar|gnText)|ort|u(p|b(str(ing)?)?)|pli(ce|t)|e(nd|t(Re(sizable|questHeader)|M(i(nutes|lliseconds)|onth)|Seconds|Ho(tKeys|urs)|Year|Cursor|Time(out)?|Interval|ZOptions|Date|UTC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(ome|andleEvent)|navigate|c(har(CodeAt|At)|o(s|n(cat|textual|firm)|mpile)|eil|lear(Timeout|Interval)?|a(ptureEvents|ll)|reate(StyleSheet|Popup|EventObject))|t(o(GMTString|S(tring|ource)|U(TCString|pperCase)|Lo(caleString|werCase))|est|a(n|int(Enabled)?))|i(s(NaN|Finite)|ndexOf|talics)|d(isableExternalCapture|ump|etachEvent)|u(n(shift|taint|escape|watch)|pdateCommands)|j(oin|avaEnabled)|p(o(p|w)|ush|lugins.refresh|a(ddings|rse(Int|Float)?)|r(int|ompt|eference))|e(scape|nableExternalCapture|val|lementFromPoint|x(p|ec(Script|Command)?))|valueOf|UTC|queryCommand(State|Indeterm|Enabled|Value)|f(i(nd|le(ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(nt(size|color)|rward)|loor|romCharCode)|watch|l(ink|o(ad|g)|astIndexOf)|a(sin|nchor|cos|t(tachEvent|ob|an(2)?)|pply|lert|b(s|ort))|r(ou(nd|teEvents)|e(size(By|To)|calc|turnValue|place|verse|l(oad|ease(Capture|Events)))|andom)|g(o|et(ResponseHeader|M(i(nutes|lliseconds)|onth)|Se(conds|lection)|Hours|Year|Time(zoneOffset)?|Da(y|te)|UTC(M(i(nutes|lliseconds)|onth)|Seconds|Hours|Da(y|te)|FullYear)|FullYear|A(ttention|llResponseHeaders)))|m(in|ove(B(y|elow)|To(Absolute)?|Above)|ergeAttributes|a(tch|rgins|x))|b(toa|ig|o(ld|rderWidths)|link|ack))\\b(?=\\()"
},
{
"name": "support.function.dom.ts",
"match": "\\b(s(ub(stringData|mit)|plitText|e(t(NamedItem|Attribute(Node)?)|lect))|has(ChildNodes|Feature)|namedItem|c(l(ick|o(se|neNode))|reate(C(omment|DATASection|aption)|T(Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(ntityReference|lement)|Attribute))|tabIndex|i(nsert(Row|Before|Cell|Data)|tem)|open|delete(Row|C(ell|aption)|T(Head|Foot)|Data)|focus|write(ln)?|a(dd|ppend(Child|Data))|re(set|place(Child|Data)|move(NamedItem|Child|Attribute(Node)?)?)|get(NamedItem|Element(sBy(Name|TagName)|ById)|Attribute(Node)?)|blur)\\b(?=\\()"
},
{
"name": "support.constant.ts",
"match": "(?<=\\.)(s(ystemLanguage|cr(ipts|ollbars|een(X|Y|Top|Left))|t(yle(Sheets)?|atus(Text|bar)?)|ibling(Below|Above)|ource|uffixes|e(curity(Policy)?|l(ection|f)))|h(istory|ost(name)?|as(h|Focus))|y|X(MLDocument|SLDocument)|n(ext|ame(space(s|URI)|Prop))|M(IN_VALUE|AX_VALUE)|c(haracterSet|o(n(structor|trollers)|okieEnabled|lorDepth|mp(onents|lete))|urrent|puClass|l(i(p(boardData)?|entInformation)|osed|asses)|alle(e|r)|rypto)|t(o(olbar|p)|ext(Transform|Indent|Decoration|Align)|ags)|SQRT(1_2|2)|i(n(ner(Height|Width)|put)|ds|gnoreCase)|zIndex|o(scpu|n(readystatechange|Line)|uter(Height|Width)|p(sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(i(splay|alog(Height|Top|Width|Left|Arguments)|rectories)|e(scription|fault(Status|Ch(ecked|arset)|View)))|u(ser(Profile|Language|Agent)|n(iqueID|defined)|pdateInterval)|_content|p(ixelDepth|ort|ersonalbar|kcs11|l(ugins|atform)|a(thname|dding(Right|Bottom|Top|Left)|rent(Window|Layer)?|ge(X(Offset)?|Y(Offset)?))|r(o(to(col|type)|duct(Sub)?|mpter)|e(vious|fix)))|e(n(coding|abledPlugin)|x(ternal|pando)|mbeds)|v(isibility|endor(Sub)?|Linkcolor)|URLUnencoded|P(I|OSITIVE_INFINITY)|f(ilename|o(nt(Size|Family|Weight)|rmName)|rame(s|Element)|gColor)|E|whiteSpace|l(i(stStyleType|n(eHeight|kColor))|o(ca(tion(bar)?|lName)|wsrc)|e(ngth|ft(Context)?)|a(st(M(odified|atch)|Index|Paren)|yer(s|X)|nguage))|a(pp(MinorVersion|Name|Co(deName|re)|Version)|vail(Height|Top|Width|Left)|ll|r(ity|guments)|Linkcolor|bove)|r(ight(Context)?|e(sponse(XML|Text)|adyState))|global|x|m(imeTypes|ultiline|enubar|argin(Right|Bottom|Top|Left))|L(N(10|2)|OG(10E|2E))|b(o(ttom|rder(Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(Color|Image)))\\b"
},
{
"name": "support.constant.dom.ts",
"match": "(?<=\\.)(s(hape|ystemId|c(heme|ope|rolling)|ta(ndby|rt)|ize|ummary|pecified|e(ctionRowIndex|lected(Index)?)|rc)|h(space|t(tpEquiv|mlFor)|e(ight|aders)|ref(lang)?)|n(o(Resize|tation(s|Name)|Shade|Href|de(Name|Type|Value)|Wrap)|extSibling|ame)|c(h(ildNodes|Off|ecked|arset)?|ite|o(ntent|o(kie|rds)|de(Base|Type)?|l(s|Span|or)|mpact)|ell(s|Spacing|Padding)|l(ear|assName)|aption)|t(ype|Bodies|itle|Head|ext|a(rget|gName)|Foot)|i(sMap|ndex|d|m(plementation|ages))|o(ptions|wnerDocument|bject)|d(i(sabled|r)|o(c(type|umentElement)|main)|e(clare|f(er|ault(Selected|Checked|Value)))|at(eTime|a))|useMap|p(ublicId|arentNode|r(o(file|mpt)|eviousSibling))|e(n(ctype|tities)|vent|lements)|v(space|ersion|alue(Type)?|Link|Align)|URL|f(irstChild|orm(s)?|ace|rame(Border)?)|width|l(ink(s)?|o(ngDesc|wSrc)|a(stChild|ng|bel))|a(nchors|c(ce(ssKey|pt(Charset)?)|tion)|ttributes|pplets|l(t|ign)|r(chive|eas)|xis|Link|bbr)|r(ow(s|Span|Index)|ules|e(v|ferrer|l|adOnly))|m(ultiple|e(thod|dia)|a(rgin(Height|Width)|xLength))|b(o(dy|rder)|ackground|gColor))\\b"
},
{
"name": "support.constant.dom.ts",
"match": "\\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"
},
{
"name": "support.function.event-handler.ts",
"match": "\\bon(R(ow(s(inserted|delete)|e(nter|xit))|e(s(ize(start|end)?|et)|adystatechange))|Mouse(o(ut|ver)|down|up|move)|B(efore(cut|deactivate|u(nload|pdate)|p(aste|rint)|editfocus|activate)|lur)|S(croll|top|ubmit|elect(start|ionchange)?)|H(over|elp)|C(hange|ont(extmenu|rolselect)|ut|ellchange|l(ick|ose))|D(eactivate|ata(setc(hanged|omplete)|available)|r(op|ag(start|over|drop|en(ter|d)|leave)?)|blclick)|Unload|P(aste|ropertychange)|Error(update)?|Key(down|up|press)|Focus|Load|A(ctivate|fter(update|print)|bort))\\b"
},
{
"name": "keyword.operator.ts",
"match": "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|(?<!\\()/=|%=|\\+=|\\-=|&=|\\^=|\\b(in|instanceof|new|delete|typeof|void)\\b"
},
{
"name": "constant.language.ts",
"match": "\\b(Infinity|NaN|undefined)\\b"
},
{
"name": "punctuation.terminator.statement.ts",
"match": "\\;"
},
{
"name": "meta.delimiter.object.comma.ts",
"match": ",[ |\\t]*"
},
{
"name": "meta.delimiter.method.period.ts",
"match": "\\."
},
{
"name": "meta.brace.square.ts",
"match": "\\[|\\]"
}
]
},
"expression": {
"name": "meta.expression.ts",
"comment": "The main building block",
"patterns": [
{ "include": "#comment" },
{ "include": "#module-expression" },
{ "include": "#class-expression" },
{ "include": "#function" },
{ "include": "#block" },
{ "include": "#string" },
{ "include": "#regexp" },
{ "include": "#misc-higlighting" }
]
}
},
"uuid": "6bca3b85-82b7-4828-9573-8b91192dffe6"
}