github-linguist 4.8.7 → 4.8.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 197e24227275debd6a5751caf11979e6008f61f9
4
- data.tar.gz: 1ad5b389ed31f4321277dab8c583de38928f8100
3
+ metadata.gz: 0f65f4f0a312b86b32f5230661bf8129dec1c951
4
+ data.tar.gz: af7f3d1680d31406a50ed12fad5250834f6bfd02
5
5
  SHA512:
6
- metadata.gz: 477ca1aa713cd520a7892792d9f5882352b105880050daace210a2bd82b9f3307cbd28efd0000580fa09be0d2a8f73d4ddfb14adb28f127a29d88f2233a9e178
7
- data.tar.gz: 409d7741fad3830d6df8b737800263ae606a9e9dd6f8c39fba2927a8dfcb4ddeeb92314236b49b6405fb12ff786fe843dce3b45b02956c8c57307dcbb125188c
6
+ metadata.gz: a5d7a2040e29f66ec0a3154067e6b1ed5b199cd3d23fe1d949fa422179c998443e88ab88af232c979f70d4570522cc9fb46145ab308f5779a6fa2844db4b1d06
7
+ data.tar.gz: 41a0d8f46204c1e4d27c8b1082ecdce673083d2f91b73b289d86ed7bc8673a7bb3c13b55102d68fb827755440425bb09a5c84e913b86920f06c23fe3ebae706c
@@ -0,0 +1,90 @@
1
+ {
2
+ "name": "Apollo Guidance Computer",
3
+ "scopeName": "source.agc",
4
+ "fileTypes": [
5
+ "agc"
6
+ ],
7
+ "patterns": [
8
+ {
9
+ "include": "#main"
10
+ }
11
+ ],
12
+ "repository": {
13
+ "main": {
14
+ "patterns": [
15
+ {
16
+ "include": "#comment"
17
+ },
18
+ {
19
+ "include": "#number"
20
+ },
21
+ {
22
+ "include": "#inclusion"
23
+ },
24
+ {
25
+ "include": "#identifier"
26
+ },
27
+ {
28
+ "include": "#opcode"
29
+ }
30
+ ]
31
+ },
32
+ "comment": {
33
+ "patterns": [
34
+ {
35
+ "name": "comment.line.number-sign.agc",
36
+ "begin": "#",
37
+ "end": "$",
38
+ "beginCaptures": {
39
+ "0": {
40
+ "name": "punctuation.definition.comment.agc"
41
+ }
42
+ },
43
+ "patterns": [
44
+ {
45
+ "match": "TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG",
46
+ "name": "disable-todo"
47
+ }
48
+ ]
49
+ },
50
+ {
51
+ "name": "comment.annotation.numeric.agc",
52
+ "match": "^\\t[-+]\\d+(?=\\t)"
53
+ }
54
+ ]
55
+ },
56
+ "number": {
57
+ "name": "constant.numeric.agc",
58
+ "match": "[-+]\\d+(?:\\.\\d+)?D?"
59
+ },
60
+ "inclusion": {
61
+ "name": "meta.preprocessor.include.directive.agc",
62
+ "begin": "^\\$",
63
+ "end": "(?=\\s)",
64
+ "beginCaptures": {
65
+ "0": {
66
+ "name": "punctuation.definition.directive.agc"
67
+ }
68
+ }
69
+ },
70
+ "identifier": {
71
+ "name": "entity.name.identifier.agc",
72
+ "match": "^(?!\\$)(?:[^#\\s]{1,7}\\t|[^#\\s]{8})"
73
+ },
74
+ "opcode": {
75
+ "name": "meta.opcode.agc",
76
+ "begin": "(?<=\\t)([^#\\s]+)(?=\\s|$)",
77
+ "end": "$|(?=#)|[^#\\s]+",
78
+ "beginCaptures": {
79
+ "1": {
80
+ "name": "keyword.function.opcode.agc"
81
+ }
82
+ },
83
+ "endCaptures": {
84
+ "0": {
85
+ "name": "variable.parameter.operand.agc"
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "GDB Disassembly",
3
+ "patterns": [
4
+ {
5
+ "match": ".+:([0-9]+)$",
6
+ "name": "string.filename"
7
+ },
8
+ {
9
+ "match": "\\b0x[0-9a-f]+",
10
+ "name": "constant.other.hex.disasm"
11
+ },
12
+ {
13
+ "match": "\\b[0-9]+",
14
+ "name": "constant.other.disasm"
15
+ },
16
+ {
17
+ "match": "[\\w]+",
18
+ "name": "keyword.variable"
19
+ },
20
+ {
21
+ "match": " \\b([a-z\\.]+) ",
22
+ "name": "support.function.disasm"
23
+ },
24
+ {
25
+ "match": "(;|#)[^\\d].*$",
26
+ "name": "comment"
27
+ }
28
+ ],
29
+ "scopeName": "source.disasm",
30
+ "uuid": "932CA89E-7D79-4406-9F53-8BC58525560C"
31
+ }
@@ -0,0 +1,176 @@
1
+ {
2
+ "fileTypes": [
3
+ "gdbinit"
4
+ ],
5
+ "name": "GDB",
6
+ "patterns": [
7
+ {
8
+ "captures": {
9
+ "1": {
10
+ "name": "punctuation.definition.comment.gdb"
11
+ }
12
+ },
13
+ "comment": "Comment line.",
14
+ "match": "^\\s*(#).*$\\n?",
15
+ "name": "comment.line.number-sign.gdb"
16
+ },
17
+ {
18
+ "begin": "^\\s*(define)\\ +(.*)?",
19
+ "beginCaptures": {
20
+ "0": {
21
+ "name": "meta.function"
22
+ },
23
+ "1": {
24
+ "name": "keyword.other.gdb"
25
+ },
26
+ "2": {
27
+ "name": "entity.name.function.gdb"
28
+ }
29
+ },
30
+ "comment": "GDB Function Define",
31
+ "end": "^(end)$",
32
+ "endCaptures": {
33
+ "1": {
34
+ "name": "keyword.other.gdb"
35
+ }
36
+ },
37
+ "patterns": [
38
+ {
39
+ "include": "$self"
40
+ }
41
+ ]
42
+ },
43
+ {
44
+ "begin": "^\\s*(document)\\ +(?:.*)?",
45
+ "beginCaptures": {
46
+ "1": {
47
+ "name": "keyword.other.gdb"
48
+ }
49
+ },
50
+ "comment": "GDB Document",
51
+ "end": "^(end)$",
52
+ "endCaptures": {
53
+ "1": {
54
+ "name": "keyword.other.gdb"
55
+ }
56
+ },
57
+ "patterns": [
58
+ {
59
+ "match": ".",
60
+ "name": "comment.block.documentation.gdb"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "begin": "\\\"",
66
+ "beginCaptures": {
67
+ "0": {
68
+ "name": "punctuation.definition.string.begin.gdb"
69
+ }
70
+ },
71
+ "comment": "GDB String",
72
+ "end": "\\\"",
73
+ "endCaptures": {
74
+ "0": {
75
+ "name": "punctuation.definition.string.end"
76
+ }
77
+ },
78
+ "name": "string.quoted.double.gdb",
79
+ "patterns": [
80
+ {
81
+ "include": "#stringEscapedChar"
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ "begin": "\\'",
87
+ "beginCaptures": {
88
+ "0": {
89
+ "name": "punctuation.definition.string.begin.gdb"
90
+ }
91
+ },
92
+ "comment": "GDB Character",
93
+ "end": "\\'",
94
+ "endCaptures": {
95
+ "0": {
96
+ "name": "punctuation.definition.string.end"
97
+ }
98
+ },
99
+ "name": "string.quoted.single.gdb",
100
+ "patterns": [
101
+ {
102
+ "include": "#stringEscapedChar"
103
+ }
104
+ ]
105
+ },
106
+ {
107
+ "begin": "^\\s*(echo)",
108
+ "beginCaptures": {
109
+ "1": {
110
+ "name": "keyword.other.gdb"
111
+ }
112
+ },
113
+ "comment": "Echo statement",
114
+ "end": "(?<!\\\\)\\n",
115
+ "patterns": [
116
+ {
117
+ "include": "#stringEscapedChar"
118
+ },
119
+ {
120
+ "match": "\\\\$",
121
+ "name": "constant.character.escape.gdb"
122
+ },
123
+ {
124
+ "match": ".",
125
+ "name": "string.other.gdb"
126
+ }
127
+ ]
128
+ },
129
+ {
130
+ "comment": "GDB Number",
131
+ "match": "\\b(?:[0-9_]+|0x[0-9a-fA-F_]+)\\b",
132
+ "name": "constant.numeric.gdb"
133
+ },
134
+ {
135
+ "comment": "GDB Variables",
136
+ "match": "\\$[@_a-zA-Z][@_a-zA-Z0-9]*",
137
+ "name": "variable.other.gdb"
138
+ },
139
+ {
140
+ "comment": "GDB Info",
141
+ "match": "\\b(?:address|architecture|args|breakpoints|catch|common|copying|dcache|display|files|float|frame|functions|handle|line|locals|program|registers|scope|set|sharedlibrary|signals|source|sources|stack|symbol|target|terminal|threads|syn|keyword|tracepoints|types|udot)\\b",
142
+ "name": "storage.type.gdb"
143
+ },
144
+ {
145
+ "comment": "GDB Statement",
146
+ "match": "^\\s*(?:actions|apply|attach|awatch|backtrace|break|bt|call|catch|cd|clear|collect|commands|complete|condition|continue|delete|detach|directory|disable|disassemble|display|down|else|enable|end|file|finish|frame|handle|hbreak|help|if|ignore|inspect|jump|kill|list|load|maintenance|make|next|nexti|ni|output|overlay|passcount|path|print|printf|ptype|pwd|quit|rbreak|remote|return|run|rwatch|search|section|set|sharedlibrary|shell|show|si|signal|source|step|stepi|stepping|stop|target|tbreak|tdump|tfind|thbreak|thread|tp|trace|tstart|tstatus|tstop|tty|undisplay|unset|until|up|watch|whatis|where|while|ws|x|add-shared-symbol-files|add-symbol-file|core-file|dont-repeat|down-silently|exec-file|forward-search|reverse-search|save-tracepoints|select-frame|symbol-file|up-silently|while-stepping)\\b",
147
+ "name": "keyword.other.gdb"
148
+ },
149
+ {
150
+ "comment": "GDB Set",
151
+ "match": "\\b(?:annotate|architecture|args|check|complaints|confirm|editing|endian|environment|gnutarget|height|history|language|listsize|print|prompt|radix|remotebaud|remotebreak|remotecache|remotedebug|remotedevice|remotelogbase|remotelogfile|remotetimeout|remotewritesize|targetdebug|variable|verbose|watchdog|width|write|auto-solib-add|solib-absolute-prefix|solib-search-path|stop-on-solib-events|symbol-reloading|input-radix|demangle-style|output-radix)\\b",
152
+ "name": "support.constant.gdb"
153
+ },
154
+ {
155
+ "comment": "GDB Info",
156
+ "match": "^\\s*info",
157
+ "name": "constant.language.gdb"
158
+ }
159
+ ],
160
+ "repository": {
161
+ "stringEscapedChar": {
162
+ "patterns": [
163
+ {
164
+ "match": "\\\\(?:\\\\|[abefnprtv'\"?]|[0-3]\\d{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8})",
165
+ "name": "constant.character.escape.gdb"
166
+ },
167
+ {
168
+ "match": "\\\\.",
169
+ "name": "invalid.illegal.gdb"
170
+ }
171
+ ]
172
+ }
173
+ },
174
+ "scopeName": "source.gdb",
175
+ "uuid": "8d97021b-68d8-4b4b-b1c3-5b505e4a08e3"
176
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "GDB Session",
3
+ "repository": {
4
+ "string_escaped_char": {
5
+ "patterns": [
6
+ {
7
+ "match": "\\\\(\\\\|[abefnprtv'\"?]|[0-3]\\d{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8})",
8
+ "name": "constant.character.escape.c"
9
+ },
10
+ {
11
+ "match": "\\\\.",
12
+ "name": "invalid.illegal.unknown-escape.c"
13
+ }
14
+ ]
15
+ }
16
+ },
17
+ "patterns": [
18
+ {
19
+ "match": "^([0-9]+)(-\\S+)",
20
+ "captures": {
21
+ "1": {
22
+ "name": "constant.other.gdb.command"
23
+ },
24
+ "2": {
25
+ "name": "entity.name.function"
26
+ }
27
+ }
28
+ },
29
+ {
30
+ "match": "^~.*$",
31
+ "name": "comment"
32
+ },
33
+ {
34
+ "match": "^([0-9]+)(\\^[^,]+)",
35
+ "captures": {
36
+ "1": {
37
+ "name": "constant.other.gdb.command"
38
+ },
39
+ "2": {
40
+ "name": "keyword.gdb.returncode"
41
+ }
42
+ }
43
+ },
44
+ {
45
+ "begin": "\"",
46
+ "beginCaptures": {
47
+ "0": {
48
+ "name": "punctuation.definition.string.begin.gdb"
49
+ }
50
+ },
51
+ "end": "\"",
52
+ "endCaptures": {
53
+ "0": {
54
+ "name": "punctuation.definition.string.end.gdb"
55
+ }
56
+ },
57
+ "name": "string.quoted.double.gdb",
58
+ "patterns": [
59
+ {
60
+ "include": "#string_escaped_char"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "match": "[^{,=]+(?==)",
66
+ "name": "storage.type.gdb"
67
+ }
68
+ ],
69
+ "scopeName": "source.gdb.session",
70
+ "uuid": "36F30C2C-0443-4944-9FA4-3940126FD71A"
71
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "GDB Registers",
3
+ "patterns": [
4
+ {
5
+ "match": "\\b.+:",
6
+ "name": "keyword.gdbregs"
7
+ },
8
+ {
9
+ "match": "\\b[-$]*[0-9a-fx]+",
10
+ "name": "constant.other.gdbregs"
11
+ }
12
+ ],
13
+ "scopeName": "source.gdbregs",
14
+ "uuid": "04501C9F-007A-423E-8409-4560143F190E"
15
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "Babel ES6 JavaScript",
3
3
  "scopeName": "source.js.jsx",
4
- "foldingStartMarker": "(/\\*|{|\\()",
4
+ "foldingStartMarker": "(/\\*|\\{|\\()",
5
5
  "foldingEndMarker": "(\\*/|\\}|\\))",
6
6
  "firstLineMatch": "^#!\\s*/.*\\b(node|js)$\\n?",
7
7
  "fileTypes": [
@@ -105,8 +105,7 @@
105
105
  "include": "#literal-language-variable"
106
106
  },
107
107
  {
108
- "include": "#literal-object",
109
- "comment": "before literal-module as it traps default {"
108
+ "include": "#literal-object"
110
109
  },
111
110
  {
112
111
  "include": "#literal-module"
@@ -147,7 +146,7 @@
147
146
  "comment": "so set at arbitary 1000 chars to avoid parsing minified files",
148
147
  "patterns": [
149
148
  {
150
- "match": "^.{1000,}"
149
+ "match": "^(?:).{1000,}"
151
150
  }
152
151
  ]
153
152
  },
@@ -157,7 +156,7 @@
157
156
  "comment": "e.g. play: function(arg1, arg2) { }",
158
157
  "name": "meta.function.json.js",
159
158
  "begin": "(?<=^|{|,)\\s*+([_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(?:(async)\\s+)?\\s*+((?<!\\.)\\bfunction\\b)\\s*+(?:(\\*)\\s*)?\\s*(?=\\(|<)",
160
- "end": "(?={)",
159
+ "end": "(?=\\{)",
161
160
  "applyEndPatternLast": 1,
162
161
  "beginCaptures": {
163
162
  "1": {
@@ -185,8 +184,8 @@
185
184
  {
186
185
  "comment": "e.g. 'play': function(arg1, arg2) { }",
187
186
  "name": "meta.function.json.js",
188
- "begin": "(?<=^|{|,)\\s*+(('|\")([^\"']*)(\\k<-3>))\\s*+(:)\\s*+(async)?\\s*+((?<!\\.)\\bfunction\\b)\\s*(\\*\\s*)?\\s*(?=\\(|<)",
189
- "end": "(?={)",
187
+ "begin": "(?<=^|{|,)\\s*+(('|\\\")([^\"']*)(\\k<-3>))\\s*+(:)\\s*+(async)?\\s*+((?<!\\.)\\bfunction\\b)\\s*(\\*\\s*)?\\s*(?=\\(|<)",
188
+ "end": "(?=\\{)",
190
189
  "applyEndPatternLast": 1,
191
190
  "beginCaptures": {
192
191
  "1": {
@@ -227,7 +226,7 @@
227
226
  {
228
227
  "comment": "e.g. play: async <T>(args) => { }",
229
228
  "name": "meta.function.json.arrow.js",
230
- "begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+({(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
229
+ "begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
231
230
  "end": "\\s*(=>)",
232
231
  "beginCaptures": {
233
232
  "1": {
@@ -254,7 +253,7 @@
254
253
  {
255
254
  "comment": "e.g. play: arg => { }",
256
255
  "name": "meta.function.json.arrow.js",
257
- "begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+([_$a-zA-Z][$\\w]*)\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+({(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
256
+ "begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+([_$a-zA-Z][$\\w]*)\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
258
257
  "end": "\\s*(=>)",
259
258
  "beginCaptures": {
260
259
  "1": {
@@ -284,7 +283,7 @@
284
283
  {
285
284
  "comment": "e.g. 'play': (args) => { }",
286
285
  "name": "meta.function.json.arrow.js",
287
- "begin": "(?<=^|{|,)\\s*+(('|\")([^\"']*)(\\k<-3>))\\s*(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+({(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
286
+ "begin": "(?<=^|{|,)\\s*+(('|\\\")([^\"']*)(\\k<-3>))\\s*(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
288
287
  "end": "\\s*(=>)",
289
288
  "applyEndPatternLast": 1,
290
289
  "endCaptures": {
@@ -321,7 +320,7 @@
321
320
  {
322
321
  "comment": "e.g. 'play': arg => { }",
323
322
  "name": "meta.function.json.arrow.js",
324
- "begin": "(?<=^|{|,)\\s*+(('|\")([^\"']*)(\\k<-3>))\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+([_$a-zA-Z][$\\w]*)\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+({(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
323
+ "begin": "(?<=^|{|,)\\s*+(('|\\\")([^\"']*)(\\k<-3>))\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+([_$a-zA-Z][$\\w]*)\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
325
324
  "end": "\\s*(=>)",
326
325
  "beginCaptures": {
327
326
  "1": {
@@ -363,7 +362,7 @@
363
362
  "patterns": [
364
363
  {
365
364
  "comment": "string as a property name",
366
- "match": "\\s*+(?<!\\.|\\?|\\?\\s|\\?\\s\\s)(((\")(\\\\.|[^\\\\\"])*(\"))|((')(\\\\.|[^\\\\'])*(')))\\s*+(:)",
365
+ "match": "\\s*+(?<!\\.|\\?|\\?\\s|\\?\\s\\s)(((\\\")(\\\\.|[^\\\\\"])*(\\\"))|((')(\\\\.|[^\\\\'])*(')))\\s*+(:)",
367
366
  "captures": {
368
367
  "1": {
369
368
  "name": "constant.other.object.key.js"
@@ -525,7 +524,7 @@
525
524
  "include": "#round-brackets"
526
525
  },
527
526
  {
528
- "begin": "\\s*+{",
527
+ "begin": "\\s*+\\{",
529
528
  "end": "\\s*(?=})",
530
529
  "beginCaptures": {
531
530
  "0": {
@@ -646,7 +645,7 @@
646
645
  "curly-brackets": {
647
646
  "patterns": [
648
647
  {
649
- "begin": "\\s*+{",
648
+ "begin": "\\s*+\\{",
650
649
  "end": "\\s*\\}",
651
650
  "endCaptures": {
652
651
  "0": {
@@ -808,7 +807,7 @@
808
807
  "patterns": [
809
808
  {
810
809
  "name": "punctuation.terminator.statement.js",
811
- "match": "\\s*+;"
810
+ "match": "\\s*+\\;"
812
811
  }
813
812
  ]
814
813
  },
@@ -824,7 +823,7 @@
824
823
  "patterns": [
825
824
  {
826
825
  "begin": "\\s*+(?<!\\.)\\b(const|let|var)\\b",
827
- "end": "\\s*(?=;|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
826
+ "end": "\\s*(?=\\;|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
828
827
  "beginCaptures": {
829
828
  "1": {
830
829
  "name": "storage.type.js"
@@ -834,7 +833,7 @@
834
833
  {
835
834
  "comment": "other variables",
836
835
  "begin": "\\s*",
837
- "end": "\\s*((,)|(?=(;)|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|}))",
836
+ "end": "\\s*((,)|(?=(\\;)|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|}))",
838
837
  "endCaptures": {
839
838
  "2": {
840
839
  "name": "punctuation.terminator.statement.js"
@@ -856,7 +855,7 @@
856
855
  "comment": "e.g. function play<T>(arg1, arg2) { }",
857
856
  "name": "meta.function.js",
858
857
  "begin": "\\s*+(?:\\b(async)\\b\\s+)?\\s*+(?:(?<=\\.\\.\\.)|(?<!\\.))(\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
859
- "end": "\\s*(?=;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
858
+ "end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
860
859
  "applyEndPatternLast": 1,
861
860
  "beginCaptures": {
862
861
  "1": {
@@ -882,7 +881,7 @@
882
881
  "comment": "e.g. play = function(arg1, arg2) { }",
883
882
  "name": "meta.function.js",
884
883
  "begin": "\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(?:(async)\\s+)?\\s*+((?<!\\.)\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
885
- "end": "\\s*(?=;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
884
+ "end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
886
885
  "applyEndPatternLast": 1,
887
886
  "beginCaptures": {
888
887
  "1": {
@@ -914,7 +913,7 @@
914
913
  "comment": "e.g. Sound.prototype.play = function(arg1, arg2) { }",
915
914
  "name": "meta.prototype.function.js",
916
915
  "begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)(prototype)(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(?:(async)\\s+)?\\s*+((?<!\\.)\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
917
- "end": "\\s*(?=;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
916
+ "end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
918
917
  "applyEndPatternLast": 1,
919
918
  "beginCaptures": {
920
919
  "1": {
@@ -958,7 +957,7 @@
958
957
  "comment": "e.g. Sound.play = function(arg1, arg2) { }",
959
958
  "name": "meta.function.static.js",
960
959
  "begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(?:(async)\\s+)?\\s*+((?<!\\.)\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
961
- "end": "\\s*(?=;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
960
+ "end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
962
961
  "applyEndPatternLast": 1,
963
962
  "beginCaptures": {
964
963
  "1": {
@@ -1078,9 +1077,6 @@
1078
1077
  }
1079
1078
  },
1080
1079
  "patterns": [
1081
- {
1082
- "include": "#html-template"
1083
- },
1084
1080
  {
1085
1081
  "include": "#literal-function-labels"
1086
1082
  },
@@ -1108,9 +1104,6 @@
1108
1104
  },
1109
1105
  "literal-operators": {
1110
1106
  "patterns": [
1111
- {
1112
- "include": "#es7-function-bind"
1113
- },
1114
1107
  {
1115
1108
  "name": "keyword.operator.js",
1116
1109
  "match": "\\s*+(?<!\\.)\\b(delete|in|instanceof|new|of|typeof|void|with)\\b"
@@ -1603,7 +1596,7 @@
1603
1596
  },
1604
1597
  {
1605
1598
  "name": "constant.character.escape",
1606
- "match": "\\\\u(({[0-9a-fA-F]+\\})|[0-9a-fA-F]{4})"
1599
+ "match": "\\\\u((\\{[0-9a-fA-F]+\\})|[0-9a-fA-F]{4})"
1607
1600
  },
1608
1601
  {
1609
1602
  "name": "constant.character.escape",
@@ -1664,7 +1657,7 @@
1664
1657
  {
1665
1658
  "comment": "e.g. (args) => { }",
1666
1659
  "name": "meta.function.arrow.js",
1667
- "begin": "\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+({(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
1660
+ "begin": "\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
1668
1661
  "end": "\\s*(=>)",
1669
1662
  "applyEndPatternLast": 1,
1670
1663
  "endCaptures": {
@@ -1702,7 +1695,7 @@
1702
1695
  {
1703
1696
  "comment": "e.g. play = (args) => { }",
1704
1697
  "name": "meta.function.arrow.js",
1705
- "begin": "\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+({(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
1698
+ "begin": "\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
1706
1699
  "end": "\\s*(=>)",
1707
1700
  "applyEndPatternLast": 1,
1708
1701
  "beginCaptures": {
@@ -1752,7 +1745,7 @@
1752
1745
  {
1753
1746
  "comment": "Sound.prototype.play = (args) => { }",
1754
1747
  "name": "meta.prototype.function.arrow.js",
1755
- "begin": "\\s*+(\\b[A-Z][$\\w]*)?(\\.)(prototype)(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+({(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
1748
+ "begin": "\\s*+(\\b[A-Z][$\\w]*)?(\\.)(prototype)(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
1756
1749
  "end": "\\s*(=>)",
1757
1750
  "applyEndPatternLast": 1,
1758
1751
  "beginCaptures": {
@@ -1826,7 +1819,7 @@
1826
1819
  {
1827
1820
  "comment": "e.g. Sound.play = (args) => { }",
1828
1821
  "name": "meta.function.static.arrow.js",
1829
- "begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+({(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
1822
+ "begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
1830
1823
  "end": "\\s*(=>)",
1831
1824
  "applyEndPatternLast": 1,
1832
1825
  "beginCaptures": {
@@ -1893,7 +1886,7 @@
1893
1886
  {
1894
1887
  "comment": "e.g. play<T,T>(arg1, arg2): Type<T> { }",
1895
1888
  "name": "meta.function.method.js",
1896
- "begin": "(?:^|;)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)(?!\\b(break|case|catch|continue|do|else|finally|for|function|if|export|import|package|return|switch|throw|try|while|with)\\b)([_$a-zA-Z][$\\w]*)\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+({(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*{)",
1889
+ "begin": "(?:^|;)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)(?!\\b(break|case|catch|continue|do|else|finally|for|function|if|export|import|package|return|switch|throw|try|while|with)\\b)([_$a-zA-Z][$\\w]*)\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*\\{)",
1897
1890
  "end": "\\s*(?=.)",
1898
1891
  "applyEndPatternLast": 1,
1899
1892
  "beginCaptures": {
@@ -1949,7 +1942,7 @@
1949
1942
  {
1950
1943
  "comment": "e.g. 'play'<T,T>(arg1, arg2): Type<T> { }",
1951
1944
  "name": "meta.function.method.js",
1952
- "begin": "(?<!:)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)(('|\")([^\"']*)(\\k<-3>))\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\())",
1945
+ "begin": "(?<!:)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)(('|\\\")([^\"']*)(\\k<-3>))\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\())",
1953
1946
  "end": "\\s*(?=.)",
1954
1947
  "applyEndPatternLast": 1,
1955
1948
  "beginCaptures": {
@@ -2147,202 +2140,12 @@
2147
2140
  "literal-module": {
2148
2141
  "patterns": [
2149
2142
  {
2150
- "include": "#literal-module-import"
2151
- },
2152
- {
2153
- "include": "#literal-module-export"
2154
- }
2155
- ]
2156
- },
2157
- "literal-module-import": {
2158
- "begin": "\\s*+(?<!\\.)\\b(import)(?!\\s*:)\\b",
2159
- "end": "\\s*(?:(?:(\\bfrom\\b)?+\\s++(('|\")([^\"']*)(\\k<-3>)))|(?=;|^\\s*\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|}))",
2160
- "beginCaptures": {
2161
- "1": {
2162
- "name": "keyword.control.module.js"
2163
- }
2164
- },
2165
- "endCaptures": {
2166
- "1": {
2167
- "name": "keyword.control.module.js"
2168
- },
2169
- "3": {
2170
- "name": "punctuation.definition.string.begin.js"
2171
- },
2172
- "4": {
2173
- "name": "string.quoted.module.js"
2174
- },
2175
- "5": {
2176
- "name": "punctuation.definition.string.begin.js"
2177
- }
2178
- },
2179
- "patterns": [
2180
- {
2181
- "match": "\\s*\\b(default)\\b",
2182
- "captures": {
2183
- "1": {
2184
- "name": "keyword.control.module.js"
2185
- }
2186
- }
2187
- },
2188
- {
2189
- "match": "\\s*\\b(typeof|type)\\b\\s++(?={|[$_a-zA-Z])(?!\\b(instanceof|in|as)\\b|,)",
2190
- "captures": {
2191
- "1": {
2192
- "name": "keyword.other.typedef.flowtype"
2193
- }
2194
- }
2195
- },
2196
- {
2197
- "name": "keyword.operator.module.all.js",
2198
- "match": "\\*"
2199
- },
2200
- {
2201
- "include": "#literal-module-as"
2202
- },
2203
- {
2204
- "include": "#literal-module-brackets"
2205
- },
2206
- {
2207
- "include": "#literal-variable"
2208
- },
2209
- {
2210
- "include": "#comments"
2143
+ "name": "keyword.control.module.js",
2144
+ "match": "\\s*+(?<!\\.)\\b(import|export|default)\\b"
2211
2145
  },
2212
2146
  {
2213
- "include": "#literal-comma"
2214
- }
2215
- ]
2216
- },
2217
- "literal-module-export": {
2218
- "patterns": [
2219
- {
2220
- "comment": "e.g. export let variable =, export type a=",
2221
- "match": "\\s*+(?<!\\.)\\b(export)(?!\\s*:)\\b(?=\\s++(let|type|typeof)\\s++[$_a-zA-Z])",
2222
- "captures": {
2223
- "1": {
2224
- "name": "keyword.control.module.js"
2225
- }
2226
- }
2227
- },
2228
- {
2229
- "comment": "export { or export * or export var from module",
2230
- "begin": "\\s*+(?<!\\.)\\b(export)\\b(?=\\s++({|\\*|[$_a-zA-Z][$_\\w]*(\\s++from\\b|\\s*,)))",
2231
- "end": "\\s*(?:(?:(\\bfrom\\b)?+\\s++(('|\")([^\"']*)(\\k<-3>)))|(?=;|^\\s*\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|}))",
2232
- "beginCaptures": {
2233
- "1": {
2234
- "name": "keyword.control.module.js"
2235
- }
2236
- },
2237
- "endCaptures": {
2238
- "1": {
2239
- "name": "keyword.control.module.js"
2240
- },
2241
- "3": {
2242
- "name": "punctuation.definition.string.begin.js"
2243
- },
2244
- "4": {
2245
- "name": "string.quoted.module.js"
2246
- },
2247
- "5": {
2248
- "name": "punctuation.definition.string.begin.js"
2249
- }
2250
- },
2251
- "patterns": [
2252
- {
2253
- "name": "keyword.operator.module.all.js",
2254
- "match": "\\*"
2255
- },
2256
- {
2257
- "include": "#literal-module-as"
2258
- },
2259
- {
2260
- "include": "#literal-module-brackets"
2261
- },
2262
- {
2263
- "include": "#literal-variable"
2264
- },
2265
- {
2266
- "include": "#comments"
2267
- },
2268
- {
2269
- "include": "#literal-comma"
2270
- }
2271
- ]
2272
- },
2273
- {
2274
- "comment": "trap expressions among - export function* () {}",
2275
- "match": "\\s*+(?<!\\.)\\b(export|default)(?!\\s*:)\\b",
2276
- "captures": {
2277
- "1": {
2278
- "name": "keyword.control.module.js"
2279
- }
2280
- }
2281
- }
2282
- ]
2283
- },
2284
- "literal-module-as": {
2285
- "match": "\\s*+(?:(\\*)|([$_a-zA-Z][$_\\w]*))\\s++(\\bas\\b)\\s++(?:(\\bdefault\\b)|([$_a-zA-Z][$_\\w]*))",
2286
- "captures": {
2287
- "1": {
2288
- "name": "keyword.operator.module.all.js"
2289
- },
2290
- "2": {
2291
- "name": "variable.other.readwrite.js"
2292
- },
2293
- "3": {
2294
- "name": "keyword.control.module.reference.js"
2295
- },
2296
- "4": {
2297
- "name": "keyword.control.module.js"
2298
- },
2299
- "5": {
2300
- "name": "variable.other.readwrite.js"
2301
- }
2302
- }
2303
- },
2304
- "literal-module-brackets": {
2305
- "patterns": [
2306
- {
2307
- "begin": "\\s*+(?:({)|(\\[))",
2308
- "end": "\\s*(?:(\\})|(\\]))",
2309
- "beginCaptures": {
2310
- "1": {
2311
- "name": "meta.brace.curly.js"
2312
- },
2313
- "2": {
2314
- "name": "meta.brace.square.js"
2315
- }
2316
- },
2317
- "endCaptures": {
2318
- "1": {
2319
- "name": "meta.brace.curly.js"
2320
- },
2321
- "2": {
2322
- "name": "meta.brace.square.js"
2323
- }
2324
- },
2325
- "patterns": [
2326
- {
2327
- "name": "keyword.operator.module.all.js",
2328
- "match": "\\*"
2329
- },
2330
- {
2331
- "include": "#literal-module-as"
2332
- },
2333
- {
2334
- "include": "#literal-module-brackets"
2335
- },
2336
- {
2337
- "include": "#literal-variable"
2338
- },
2339
- {
2340
- "include": "#literal-string"
2341
- },
2342
- {
2343
- "include": "#literal-comma"
2344
- }
2345
- ]
2147
+ "name": "keyword.control.module.reference.js",
2148
+ "match": "\\s*+(?<!\\.)\\b(from|as)\\b"
2346
2149
  }
2347
2150
  ]
2348
2151
  },
@@ -2453,24 +2256,11 @@
2453
2256
  }
2454
2257
  ]
2455
2258
  },
2456
- "es7-function-bind": {
2457
- "patterns": [
2458
- {
2459
- "comment": "https://github.com/zenparsing/es-function-bind#examples",
2460
- "match": "\\s*(::)",
2461
- "captures": {
2462
- "1": {
2463
- "name": "keyword.operator.accessor.js"
2464
- }
2465
- }
2466
- }
2467
- ]
2468
- },
2469
2259
  "jsx": {
2470
2260
  "comment": "Avoid < operator expressions as best we can using Zertosh's regex",
2471
2261
  "patterns": [
2472
2262
  {
2473
- "begin": "(?<=\\(|{|\\[|,|&&|\\|\\||\\?|:|=|=>|\\Wreturn|^return|\\Wdefault|^)\\s*+(?=<[$_\\p{L}])",
2263
+ "begin": "(?<=\\(|\\{|\\[|,|&&|\\|\\||\\?|:|=|=>|\\Wreturn|^return|\\Wdefault|^)\\s*+(?=<[$_\\p{L}])",
2474
2264
  "end": "(?=.)",
2475
2265
  "applyEndPatternLast": 1,
2476
2266
  "patterns": [
@@ -2486,7 +2276,6 @@
2486
2276
  {
2487
2277
  "comment": "Tags that end > are trapped in #jsx-tag-termination",
2488
2278
  "name": "meta.tag.jsx",
2489
- "contentName": "JSXAttrs",
2490
2279
  "begin": "\\s*+(<)((\\p{Ll}[\\p{Ll}0-9]*)|((?:[$_\\p{L}\\p{Nl}][$_\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}-]*?:)?+(?:[$_\\p{L}\\p{Nl}](?:[$_\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}\\.-](?<!\\.\\.))*+)+))(?=[ />\\s])(?![:])(?<!\\.|:)",
2491
2280
  "end": "\\s*(?<=</)((\\4)|\\2)(>)|(/>)|((?<=</)[\\S ]*?)>",
2492
2281
  "beginCaptures": {
@@ -2532,7 +2321,6 @@
2532
2321
  "patterns": [
2533
2322
  {
2534
2323
  "comment": "uses non consuming search for </ in </tag>",
2535
- "contentName": "JSXNested",
2536
2324
  "begin": "(>)",
2537
2325
  "end": "(</)",
2538
2326
  "beginCaptures": {
@@ -2662,52 +2450,32 @@
2662
2450
  ]
2663
2451
  },
2664
2452
  "jsx-evaluated-code": {
2453
+ "name": "meta.embedded.expression.js",
2454
+ "begin": "{",
2455
+ "end": "}",
2456
+ "beginCaptures": {
2457
+ "0": {
2458
+ "name": "punctuation.section.embedded.begin.jsx"
2459
+ }
2460
+ },
2461
+ "endCaptures": {
2462
+ "0": {
2463
+ "name": "punctuation.section.embedded.end.jsx"
2464
+ }
2465
+ },
2466
+ "contentName": "source.js.jsx",
2665
2467
  "patterns": [
2666
2468
  {
2667
- "name": "meta.embedded.expression.commented-out.jsx",
2668
- "contentName": "comment.embedded.jsx",
2669
- "begin": "^\\s*({/\\*)",
2670
- "end": "\\s*(\\*/})",
2671
- "beginCaptures": {
2672
- "1": {
2673
- "name": "punctuation.section.embedded.begin.jsx"
2674
- }
2675
- },
2676
- "endCaptures": {
2677
- "1": {
2678
- "name": "punctuation.section.embedded.end.jsx"
2679
- }
2680
- }
2469
+ "include": "#jsx-string-double-quoted"
2681
2470
  },
2682
2471
  {
2683
- "name": "meta.embedded.expression.js",
2684
- "contentName": "source.js.jsx",
2685
- "begin": "{",
2686
- "end": "}",
2687
- "beginCaptures": {
2688
- "0": {
2689
- "name": "punctuation.section.embedded.begin.jsx"
2690
- }
2691
- },
2692
- "endCaptures": {
2693
- "0": {
2694
- "name": "punctuation.section.embedded.end.jsx"
2695
- }
2696
- },
2697
- "patterns": [
2698
- {
2699
- "include": "#jsx-string-double-quoted"
2700
- },
2701
- {
2702
- "include": "#jsx-string-single-quoted"
2703
- },
2704
- {
2705
- "include": "#jsx-spread-attribute"
2706
- },
2707
- {
2708
- "include": "#expression"
2709
- }
2710
- ]
2472
+ "include": "#jsx-string-single-quoted"
2473
+ },
2474
+ {
2475
+ "include": "#jsx-spread-attribute"
2476
+ },
2477
+ {
2478
+ "include": "#expression"
2711
2479
  }
2712
2480
  ]
2713
2481
  },
@@ -3079,7 +2847,7 @@
3079
2847
  },
3080
2848
  "flowtype-parse-objects": {
3081
2849
  "comment": "object literal flowtype preceded by either => : | & ? symbols",
3082
- "begin": "(?<=:|\\||&|\\?|=>|<)\\s*+({)",
2850
+ "begin": "(?<=:|\\||&|\\?|=>|<)\\s*+(\\{)",
3083
2851
  "end": "\\s*(\\})",
3084
2852
  "applyEndPatternLast": 1,
3085
2853
  "beginCaptures": {
@@ -3141,10 +2909,13 @@
3141
2909
  "patterns": [
3142
2910
  {
3143
2911
  "comment": "type aliases for export but avoid type instaceof or type in operators",
3144
- "begin": "\\s*+\\b(type)\\b\\s*(?!(instanceof|in)\\b)(?=[$_A-Za-z{\\[])",
3145
- "end": "\\s*(;)|\\b(?=if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b",
2912
+ "begin": "\\s*+(?:\\b(import|export))?\\b\\s*(type)\\b\\s*(?!(instanceof|in)\\b)(?=[$_A-Za-z{\\[])",
2913
+ "end": "\\s*(\\;)|\\b(?=if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b",
3146
2914
  "beginCaptures": {
3147
2915
  "1": {
2916
+ "name": "keyword.control.module.js"
2917
+ },
2918
+ "2": {
3148
2919
  "name": "keyword.other.typedef.flowtype"
3149
2920
  }
3150
2921
  },
@@ -3379,7 +3150,7 @@
3379
3150
  "name": "entity.name.class.js"
3380
3151
  },
3381
3152
  {
3382
- "include": "#literal-comma"
3153
+ "include": "#literal-coma"
3383
3154
  }
3384
3155
  ]
3385
3156
  },
@@ -3476,55 +3247,6 @@
3476
3247
  }
3477
3248
  }
3478
3249
  ]
3479
- },
3480
- "html-template": {
3481
- "comment": "Assume object properties of template: `some html` contain html",
3482
- "begin": "(?:(?:^|(?<=,|{))\\s*\\b((template))\\b\\s*(:)\\s*(`))",
3483
- "end": "\\s*(`)",
3484
- "beginCaptures": {
3485
- "1": {
3486
- "name": "constant.other.object.key.js"
3487
- },
3488
- "2": {
3489
- "name": "string.unquoted.js"
3490
- },
3491
- "3": {
3492
- "name": "punctuation.separator.key-value.js"
3493
- },
3494
- "4": {
3495
- "name": "punctuation.definition.quasi.begin.js"
3496
- }
3497
- },
3498
- "endCaptures": {
3499
- "1": {
3500
- "name": "punctuation.definition.quasi.end.js"
3501
- }
3502
- },
3503
- "patterns": [
3504
- {
3505
- "name": "entity.quasi.element.js",
3506
- "begin": "(?<!\\\\)\\${",
3507
- "end": "\\s*}",
3508
- "beginCaptures": {
3509
- "0": {
3510
- "name": "punctuation.quasi.element.begin.js"
3511
- }
3512
- },
3513
- "endCaptures": {
3514
- "0": {
3515
- "name": "punctuation.quasi.element.end.js"
3516
- }
3517
- },
3518
- "patterns": [
3519
- {
3520
- "include": "#expression"
3521
- }
3522
- ]
3523
- },
3524
- {
3525
- "include": "text.html.mustache"
3526
- }
3527
- ]
3528
3250
  }
3529
3251
  }
3530
3252
  }