Skip to content

Commit acc6b06

Browse files
committed
Simplify variable and destructuring pattern
Fixes #307
1 parent 1bde8ef commit acc6b06

File tree

85 files changed

+2511
-2545
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+2511
-2545
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 15 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ repository:
3636
patterns:
3737
- include: '#destructuring-variable'
3838
- include: '#var-single-variable'
39+
- include: '#variable-initializer'
3940
- include: '#comment'
4041
- include: '#punctuation-comma'
4142

@@ -44,54 +45,28 @@ repository:
4445
begin: ([_$[:alpha:]][_$[:alnum:]]*)
4546
beginCaptures:
4647
'1': { name: variable.other.readwrite.ts }
47-
end: (?=$|[;,}]|(\s+(of|in)\s+))
48+
end: (?=$|[;,=}]|(\s+(of|in)\s+))
4849
patterns:
49-
- include: '#variable-initializer'
50-
- begin: \G
51-
end: (?!\G)(?=$|[;,=}]|(\s+(of|in)\s+))
52-
patterns:
53-
- include: '#type-annotation'
54-
- include: '#string'
55-
- include: '#comment'
50+
- include: '#type-annotation'
51+
- include: '#string'
52+
- include: '#comment'
5653

5754
destructuring-variable:
5855
patterns:
5956
- name: meta.object-binding-pattern-variable.ts
60-
begin: (?<!=|:|of|in)\s*(\{)
61-
beginCaptures:
62-
'1': { name: punctuation.definition.binding-pattern.object.ts }
63-
end: (?=$|[;,}]|(\s+(of|in)\s+))
57+
begin: (?<!=|:|of|in)\s*(?=\{)
58+
end: (?=$|[;,=}]|(\s+(of|in)\s+))
6459
patterns:
65-
- include: '#variable-initializer'
66-
- begin: (?<=\{)
67-
end: (?=$|[;,=}]|(\s+(of|in)\s+))
68-
patterns:
69-
- begin: (?<=\{)
70-
end: \}
71-
endCaptures:
72-
'0': { name: punctuation.definition.binding-pattern.object.ts }
73-
patterns:
74-
- include: '#object-binding-element'
75-
- include: '#type-annotation'
76-
- include: '#comment'
60+
- include: '#object-binding-pattern'
61+
- include: '#type-annotation'
62+
- include: '#comment'
7763
- name: meta.array-binding-pattern-variable.ts
78-
begin: (?<!=|:|of|in)\s*(\[)
79-
beginCaptures:
80-
'1': { name: punctuation.definition.binding-pattern.array.ts }
81-
end: (?=$|[;,}]|(\s+(of|in)\s+))
64+
begin: (?<!=|:|of|in)\s*(?=\[)
65+
end: (?=$|[;,=}]|(\s+(of|in)\s+))
8266
patterns:
83-
- include: '#variable-initializer'
84-
- begin: (?<=\[)
85-
end: (?=$|[;,=}]|(\s+(of|in)\s+))
86-
patterns:
87-
- begin: (?<=\[)
88-
end: \]
89-
endCaptures:
90-
'0': { name: punctuation.definition.binding-pattern.array.ts }
91-
patterns:
92-
- include: '#array-binding-element'
93-
- include: '#type-annotation'
94-
- include: '#comment'
67+
- include: '#array-binding-pattern'
68+
- include: '#type-annotation'
69+
- include: '#comment'
9570

9671
object-binding-element:
9772
patterns:

TypeScript.tmLanguage

Lines changed: 30 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@
110110
<key>include</key>
111111
<string>#var-single-variable</string>
112112
</dict>
113+
<dict>
114+
<key>include</key>
115+
<string>#variable-initializer</string>
116+
</dict>
113117
<dict>
114118
<key>include</key>
115119
<string>#comment</string>
@@ -135,33 +139,20 @@
135139
</dict>
136140
</dict>
137141
<key>end</key>
138-
<string>(?=$|[;,}]|(\s+(of|in)\s+))</string>
142+
<string>(?=$|[;,=}]|(\s+(of|in)\s+))</string>
139143
<key>patterns</key>
140144
<array>
141145
<dict>
142146
<key>include</key>
143-
<string>#variable-initializer</string>
147+
<string>#type-annotation</string>
144148
</dict>
145149
<dict>
146-
<key>begin</key>
147-
<string>\G</string>
148-
<key>end</key>
149-
<string>(?!\G)(?=$|[;,=}]|(\s+(of|in)\s+))</string>
150-
<key>patterns</key>
151-
<array>
152-
<dict>
153-
<key>include</key>
154-
<string>#type-annotation</string>
155-
</dict>
156-
<dict>
157-
<key>include</key>
158-
<string>#string</string>
159-
</dict>
160-
<dict>
161-
<key>include</key>
162-
<string>#comment</string>
163-
</dict>
164-
</array>
150+
<key>include</key>
151+
<string>#string</string>
152+
</dict>
153+
<dict>
154+
<key>include</key>
155+
<string>#comment</string>
165156
</dict>
166157
</array>
167158
</dict>
@@ -173,121 +164,45 @@
173164
<key>name</key>
174165
<string>meta.object-binding-pattern-variable.ts</string>
175166
<key>begin</key>
176-
<string>(?&lt;!=|:|of|in)\s*(\{)</string>
177-
<key>beginCaptures</key>
178-
<dict>
179-
<key>1</key>
180-
<dict>
181-
<key>name</key>
182-
<string>punctuation.definition.binding-pattern.object.ts</string>
183-
</dict>
184-
</dict>
167+
<string>(?&lt;!=|:|of|in)\s*(?=\{)</string>
185168
<key>end</key>
186-
<string>(?=$|[;,}]|(\s+(of|in)\s+))</string>
169+
<string>(?=$|[;,=}]|(\s+(of|in)\s+))</string>
187170
<key>patterns</key>
188171
<array>
189172
<dict>
190173
<key>include</key>
191-
<string>#variable-initializer</string>
174+
<string>#object-binding-pattern</string>
192175
</dict>
193176
<dict>
194-
<key>begin</key>
195-
<string>(?&lt;=\{)</string>
196-
<key>end</key>
197-
<string>(?=$|[;,=}]|(\s+(of|in)\s+))</string>
198-
<key>patterns</key>
199-
<array>
200-
<dict>
201-
<key>begin</key>
202-
<string>(?&lt;=\{)</string>
203-
<key>end</key>
204-
<string>\}</string>
205-
<key>endCaptures</key>
206-
<dict>
207-
<key>0</key>
208-
<dict>
209-
<key>name</key>
210-
<string>punctuation.definition.binding-pattern.object.ts</string>
211-
</dict>
212-
</dict>
213-
<key>patterns</key>
214-
<array>
215-
<dict>
216-
<key>include</key>
217-
<string>#object-binding-element</string>
218-
</dict>
219-
</array>
220-
</dict>
221-
<dict>
222-
<key>include</key>
223-
<string>#type-annotation</string>
224-
</dict>
225-
<dict>
226-
<key>include</key>
227-
<string>#comment</string>
228-
</dict>
229-
</array>
177+
<key>include</key>
178+
<string>#type-annotation</string>
179+
</dict>
180+
<dict>
181+
<key>include</key>
182+
<string>#comment</string>
230183
</dict>
231184
</array>
232185
</dict>
233186
<dict>
234187
<key>name</key>
235188
<string>meta.array-binding-pattern-variable.ts</string>
236189
<key>begin</key>
237-
<string>(?&lt;!=|:|of|in)\s*(\[)</string>
238-
<key>beginCaptures</key>
239-
<dict>
240-
<key>1</key>
241-
<dict>
242-
<key>name</key>
243-
<string>punctuation.definition.binding-pattern.array.ts</string>
244-
</dict>
245-
</dict>
190+
<string>(?&lt;!=|:|of|in)\s*(?=\[)</string>
246191
<key>end</key>
247-
<string>(?=$|[;,}]|(\s+(of|in)\s+))</string>
192+
<string>(?=$|[;,=}]|(\s+(of|in)\s+))</string>
248193
<key>patterns</key>
249194
<array>
250195
<dict>
251196
<key>include</key>
252-
<string>#variable-initializer</string>
197+
<string>#array-binding-pattern</string>
253198
</dict>
254199
<dict>
255-
<key>begin</key>
256-
<string>(?&lt;=\[)</string>
257-
<key>end</key>
258-
<string>(?=$|[;,=}]|(\s+(of|in)\s+))</string>
259-
<key>patterns</key>
260-
<array>
261-
<dict>
262-
<key>begin</key>
263-
<string>(?&lt;=\[)</string>
264-
<key>end</key>
265-
<string>\]</string>
266-
<key>endCaptures</key>
267-
<dict>
268-
<key>0</key>
269-
<dict>
270-
<key>name</key>
271-
<string>punctuation.definition.binding-pattern.array.ts</string>
272-
</dict>
273-
</dict>
274-
<key>patterns</key>
275-
<array>
276-
<dict>
277-
<key>include</key>
278-
<string>#array-binding-element</string>
279-
</dict>
280-
</array>
281-
</dict>
282-
<dict>
283-
<key>include</key>
284-
<string>#type-annotation</string>
285-
</dict>
286-
<dict>
287-
<key>include</key>
288-
<string>#comment</string>
289-
</dict>
290-
</array>
200+
<key>include</key>
201+
<string>#type-annotation</string>
202+
</dict>
203+
<dict>
204+
<key>include</key>
205+
<string>#comment</string>
291206
</dict>
292207
</array>
293208
</dict>

0 commit comments

Comments
 (0)