Skip to content

Commit ca87436

Browse files
committed
Support the default initializers for destructuring variables
Fixes #302
1 parent 4567ceb commit ca87436

File tree

5 files changed

+555
-3
lines changed

5 files changed

+555
-3
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,10 @@ repository:
106106
- include: '#array-binding-pattern'
107107
- name: variable.other.readwrite.ts
108108
match: ([_$[:alpha:]][_$[:alnum:]]*)
109+
- include: '#variable-initializer'
109110
- include: '#object-binding-pattern'
110111
- include: '#destructuring-variable-rest'
112+
- include: '#variable-initializer'
111113
- include: '#punctuation-comma'
112114

113115
array-binding-element:
@@ -116,6 +118,7 @@ repository:
116118
- include: '#object-binding-pattern'
117119
- include: '#array-binding-pattern'
118120
- include: '#destructuring-variable-rest'
121+
- include: '#variable-initializer'
119122
- include: '#punctuation-comma'
120123

121124
destructuring-variable-rest:
@@ -659,8 +662,10 @@ repository:
659662
- include: '#parameter-array-binding-pattern'
660663
- name: variable.parameter.ts
661664
match: ([_$[:alpha:]][_$[:alnum:]]*)
665+
- include: '#variable-initializer'
662666
- include: '#parameter-object-binding-pattern'
663667
- include: '#destructuring-parameter-rest'
668+
- include: '#variable-initializer'
664669
- include: '#punctuation-comma'
665670

666671
parameter-array-binding-element:
@@ -669,6 +674,7 @@ repository:
669674
- include: '#parameter-object-binding-pattern'
670675
- include: '#parameter-array-binding-pattern'
671676
- include: '#destructuring-parameter-rest'
677+
- include: '#variable-initializer'
672678
- include: '#punctuation-comma'
673679

674680
destructuring-parameter-rest:
@@ -899,7 +905,7 @@ repository:
899905
begin: (?<!=|!)(=)(?!=)
900906
beginCaptures:
901907
'1': { name: keyword.operator.assignment.ts }
902-
end: (?=$|[,);}])
908+
end: (?=$|[,);}\]])
903909
patterns:
904910
- include: '#expression'
905911

TypeScript.tmLanguage

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,10 @@
335335
<key>match</key>
336336
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
337337
</dict>
338+
<dict>
339+
<key>include</key>
340+
<string>#variable-initializer</string>
341+
</dict>
338342
</array>
339343
</dict>
340344
<dict>
@@ -345,6 +349,10 @@
345349
<key>include</key>
346350
<string>#destructuring-variable-rest</string>
347351
</dict>
352+
<dict>
353+
<key>include</key>
354+
<string>#variable-initializer</string>
355+
</dict>
348356
<dict>
349357
<key>include</key>
350358
<string>#punctuation-comma</string>
@@ -371,6 +379,10 @@
371379
<key>include</key>
372380
<string>#destructuring-variable-rest</string>
373381
</dict>
382+
<dict>
383+
<key>include</key>
384+
<string>#variable-initializer</string>
385+
</dict>
374386
<dict>
375387
<key>include</key>
376388
<string>#punctuation-comma</string>
@@ -2163,6 +2175,10 @@
21632175
<key>match</key>
21642176
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
21652177
</dict>
2178+
<dict>
2179+
<key>include</key>
2180+
<string>#variable-initializer</string>
2181+
</dict>
21662182
</array>
21672183
</dict>
21682184
<dict>
@@ -2173,6 +2189,10 @@
21732189
<key>include</key>
21742190
<string>#destructuring-parameter-rest</string>
21752191
</dict>
2192+
<dict>
2193+
<key>include</key>
2194+
<string>#variable-initializer</string>
2195+
</dict>
21762196
<dict>
21772197
<key>include</key>
21782198
<string>#punctuation-comma</string>
@@ -2199,6 +2219,10 @@
21992219
<key>include</key>
22002220
<string>#destructuring-parameter-rest</string>
22012221
</dict>
2222+
<dict>
2223+
<key>include</key>
2224+
<string>#variable-initializer</string>
2225+
</dict>
22022226
<dict>
22032227
<key>include</key>
22042228
<string>#punctuation-comma</string>
@@ -2835,7 +2859,7 @@
28352859
</dict>
28362860
</dict>
28372861
<key>end</key>
2838-
<string>(?=$|[,);}])</string>
2862+
<string>(?=$|[,);}\]])</string>
28392863
<key>patterns</key>
28402864
<array>
28412865
<dict>

TypeScriptReact.tmLanguage

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,10 @@
335335
<key>match</key>
336336
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
337337
</dict>
338+
<dict>
339+
<key>include</key>
340+
<string>#variable-initializer</string>
341+
</dict>
338342
</array>
339343
</dict>
340344
<dict>
@@ -345,6 +349,10 @@
345349
<key>include</key>
346350
<string>#destructuring-variable-rest</string>
347351
</dict>
352+
<dict>
353+
<key>include</key>
354+
<string>#variable-initializer</string>
355+
</dict>
348356
<dict>
349357
<key>include</key>
350358
<string>#punctuation-comma</string>
@@ -371,6 +379,10 @@
371379
<key>include</key>
372380
<string>#destructuring-variable-rest</string>
373381
</dict>
382+
<dict>
383+
<key>include</key>
384+
<string>#variable-initializer</string>
385+
</dict>
374386
<dict>
375387
<key>include</key>
376388
<string>#punctuation-comma</string>
@@ -2167,6 +2179,10 @@
21672179
<key>match</key>
21682180
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
21692181
</dict>
2182+
<dict>
2183+
<key>include</key>
2184+
<string>#variable-initializer</string>
2185+
</dict>
21702186
</array>
21712187
</dict>
21722188
<dict>
@@ -2177,6 +2193,10 @@
21772193
<key>include</key>
21782194
<string>#destructuring-parameter-rest</string>
21792195
</dict>
2196+
<dict>
2197+
<key>include</key>
2198+
<string>#variable-initializer</string>
2199+
</dict>
21802200
<dict>
21812201
<key>include</key>
21822202
<string>#punctuation-comma</string>
@@ -2203,6 +2223,10 @@
22032223
<key>include</key>
22042224
<string>#destructuring-parameter-rest</string>
22052225
</dict>
2226+
<dict>
2227+
<key>include</key>
2228+
<string>#variable-initializer</string>
2229+
</dict>
22062230
<dict>
22072231
<key>include</key>
22082232
<string>#punctuation-comma</string>
@@ -2839,7 +2863,7 @@
28392863
</dict>
28402864
</dict>
28412865
<key>end</key>
2842-
<string>(?=$|[,);}])</string>
2866+
<string>(?=$|[,);}\]])</string>
28432867
<key>patterns</key>
28442868
<array>
28452869
<dict>

0 commit comments

Comments
 (0)