Skip to content

Commit ddb2346

Browse files
committed
Fix the for of declarations
Fixes #232
1 parent 170078a commit ddb2346

File tree

6 files changed

+115
-127
lines changed

6 files changed

+115
-127
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ patterns:
1111
repository:
1212
statements:
1313
patterns:
14-
- include: '#for-in-simple'
1514
- include: '#string'
1615
- include: '#regex'
1716
- include: '#template'
@@ -32,7 +31,7 @@ repository:
3231
beginCaptures:
3332
'1': { name: keyword.control.export.ts }
3433
'2': { name: storage.type.ts }
35-
end: (?=$|;|})
34+
end: (?=$|;|}|(\s+(of|in)\s+))
3635
patterns:
3736
- include: '#destructuring-variable'
3837
- include: '#var-single-variable'
@@ -43,11 +42,11 @@ repository:
4342
begin: ([_$[:alpha:]][_$[:alnum:]]*)
4443
beginCaptures:
4544
'1': { name: variable.other.readwrite.ts }
46-
end: (?=$|[;,}])
45+
end: (?=$|[;,}]|(\s+(of|in)\s+))
4746
patterns:
4847
- include: '#variable-initializer'
4948
- begin: \G
50-
end: (?!\G)(?=$|[;,=}])
49+
end: (?!\G)(?=$|[;,=}]|(\s+(of|in)\s+))
5150
patterns:
5251
- include: '#type-annotation'
5352
- include: '#string'
@@ -56,14 +55,14 @@ repository:
5655
destructuring-variable:
5756
patterns:
5857
- name: meta.object-binding-pattern-variable.ts
59-
begin: (?<!=|:)\s*(\{)
58+
begin: (?<!=|:|of|in)\s*(\{)
6059
beginCaptures:
6160
'1': { name: punctuation.definition.binding-pattern.object.ts }
62-
end: (?=$|[;,}])
61+
end: (?=$|[;,}]|(\s+(of|in)\s+))
6362
patterns:
6463
- include: '#variable-initializer'
6564
- begin: \G
66-
end: (?!\G)(?=$|[;,=}])
65+
end: (?!\G)(?=$|[;,=}]|(\s+(of|in)\s+))
6766
patterns:
6867
- begin: \G
6968
end: \}
@@ -74,14 +73,14 @@ repository:
7473
- include: '#type-annotation'
7574
- include: '#comment'
7675
- name: meta.array-binding-pattern-variable.ts
77-
begin: (?<!=|:)\s*(\[)
76+
begin: (?<!=|:|of|in)\s*(\[)
7877
beginCaptures:
7978
'1': { name: punctuation.definition.binding-pattern.array.ts }
80-
end: (?=$|[;,}])
79+
end: (?=$|[;,}]|(\s+(of|in)\s+))
8180
patterns:
8281
- include: '#variable-initializer'
8382
- begin: \G
84-
end: (?!\G)(?=$|[;,=}])
83+
end: (?!\G)(?=$|[;,=}]|(\s+(of|in)\s+))
8584
patterns:
8685
- begin: \G
8786
end: \]
@@ -259,7 +258,7 @@ repository:
259258
- include: '#comment'
260259
- include: '#string'
261260
- name: entity.name.type.module.ts
262-
match: \b([_$[:alpha:]][_$[:alnum:]]*)\b
261+
match: ([_$[:alpha:]][_$[:alnum:]]*)
263262
- name: punctuation.accessor.ts
264263
match: \.
265264

@@ -881,15 +880,6 @@ repository:
881880
- include: '#switch-expression'
882881
- include: '#switch-block'
883882

884-
for-in-simple:
885-
name: forin.expr.ts
886-
match: (?<=\()\s*\b(var|let|const)\s+([_$[:alpha:]][_$[:alnum:]]*)\s+(?:(in)|(of))\b(?!\$)
887-
captures:
888-
'1': { name: storage.type.ts }
889-
'2': { name: variable.other.readwrite.ts }
890-
'3': { name: keyword.operator.in.ts }
891-
'4': { name: keyword.operator.of.ts }
892-
893883
function-call:
894884
name: functioncall.expr.ts
895885
patterns:

TypeScript.tmLanguage

Lines changed: 10 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -878,7 +878,7 @@
878878
<array>
879879
<dict>
880880
<key>begin</key>
881-
<string>(?&lt;!=|:)\s*(\{)</string>
881+
<string>(?&lt;!=|:|of|in)\s*(\{)</string>
882882
<key>beginCaptures</key>
883883
<dict>
884884
<key>1</key>
@@ -888,7 +888,7 @@
888888
</dict>
889889
</dict>
890890
<key>end</key>
891-
<string>(?=$|[;,}])</string>
891+
<string>(?=$|[;,}]|(\s+(of|in)\s+))</string>
892892
<key>name</key>
893893
<string>meta.object-binding-pattern-variable.ts</string>
894894
<key>patterns</key>
@@ -901,7 +901,7 @@
901901
<key>begin</key>
902902
<string>\G</string>
903903
<key>end</key>
904-
<string>(?!\G)(?=$|[;,=}])</string>
904+
<string>(?!\G)(?=$|[;,=}]|(\s+(of|in)\s+))</string>
905905
<key>patterns</key>
906906
<array>
907907
<dict>
@@ -939,7 +939,7 @@
939939
</dict>
940940
<dict>
941941
<key>begin</key>
942-
<string>(?&lt;!=|:)\s*(\[)</string>
942+
<string>(?&lt;!=|:|of|in)\s*(\[)</string>
943943
<key>beginCaptures</key>
944944
<dict>
945945
<key>1</key>
@@ -949,7 +949,7 @@
949949
</dict>
950950
</dict>
951951
<key>end</key>
952-
<string>(?=$|[;,}])</string>
952+
<string>(?=$|[;,}]|(\s+(of|in)\s+))</string>
953953
<key>name</key>
954954
<string>meta.array-binding-pattern-variable.ts</string>
955955
<key>patterns</key>
@@ -962,7 +962,7 @@
962962
<key>begin</key>
963963
<string>\G</string>
964964
<key>end</key>
965-
<string>(?!\G)(?=$|[;,=}])</string>
965+
<string>(?!\G)(?=$|[;,=}]|(\s+(of|in)\s+))</string>
966966
<key>patterns</key>
967967
<array>
968968
<dict>
@@ -1340,36 +1340,6 @@
13401340
</dict>
13411341
</array>
13421342
</dict>
1343-
<key>for-in-simple</key>
1344-
<dict>
1345-
<key>captures</key>
1346-
<dict>
1347-
<key>1</key>
1348-
<dict>
1349-
<key>name</key>
1350-
<string>storage.type.ts</string>
1351-
</dict>
1352-
<key>2</key>
1353-
<dict>
1354-
<key>name</key>
1355-
<string>variable.other.readwrite.ts</string>
1356-
</dict>
1357-
<key>3</key>
1358-
<dict>
1359-
<key>name</key>
1360-
<string>keyword.operator.in.ts</string>
1361-
</dict>
1362-
<key>4</key>
1363-
<dict>
1364-
<key>name</key>
1365-
<string>keyword.operator.of.ts</string>
1366-
</dict>
1367-
</dict>
1368-
<key>match</key>
1369-
<string>(?&lt;=\()\s*\b(var|let|const)\s+([_$[:alpha:]][_$[:alnum:]]*)\s+(?:(in)|(of))\b(?!\$)</string>
1370-
<key>name</key>
1371-
<string>forin.expr.ts</string>
1372-
</dict>
13731343
<key>for-loop</key>
13741344
<dict>
13751345
<key>begin</key>
@@ -2186,7 +2156,7 @@
21862156
</dict>
21872157
<dict>
21882158
<key>match</key>
2189-
<string>\b([_$[:alpha:]][_$[:alnum:]]*)\b</string>
2159+
<string>([_$[:alpha:]][_$[:alnum:]]*)</string>
21902160
<key>name</key>
21912161
<string>entity.name.type.module.ts</string>
21922162
</dict>
@@ -3138,10 +3108,6 @@
31383108
<dict>
31393109
<key>patterns</key>
31403110
<array>
3141-
<dict>
3142-
<key>include</key>
3143-
<string>#for-in-simple</string>
3144-
</dict>
31453111
<dict>
31463112
<key>include</key>
31473113
<string>#string</string>
@@ -3870,7 +3836,7 @@
38703836
</dict>
38713837
</dict>
38723838
<key>end</key>
3873-
<string>(?=$|;|})</string>
3839+
<string>(?=$|;|}|(\s+(of|in)\s+))</string>
38743840
<key>name</key>
38753841
<string>meta.var.expr.ts</string>
38763842
<key>patterns</key>
@@ -3902,7 +3868,7 @@
39023868
</dict>
39033869
</dict>
39043870
<key>end</key>
3905-
<string>(?=$|[;,}])</string>
3871+
<string>(?=$|[;,}]|(\s+(of|in)\s+))</string>
39063872
<key>name</key>
39073873
<string>meta.var-single-variable.expr.ts</string>
39083874
<key>patterns</key>
@@ -3915,7 +3881,7 @@
39153881
<key>begin</key>
39163882
<string>\G</string>
39173883
<key>end</key>
3918-
<string>(?!\G)(?=$|[;,=}])</string>
3884+
<string>(?!\G)(?=$|[;,=}]|(\s+(of|in)\s+))</string>
39193885
<key>patterns</key>
39203886
<array>
39213887
<dict>

TypeScriptReact.YAML-tmLanguage

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ repository:
1515
statements:
1616
patterns:
1717
- include: '#jsx'
18-
- include: '#for-in-simple'
1918
- include: '#string'
2019
- include: '#regex'
2120
- include: '#template'
@@ -36,7 +35,7 @@ repository:
3635
beginCaptures:
3736
'1': { name: keyword.control.export.tsx }
3837
'2': { name: storage.type.tsx }
39-
end: (?=$|;|})
38+
end: (?=$|;|}|(\s+(of|in)\s+))
4039
patterns:
4140
- include: '#destructuring-variable'
4241
- include: '#var-single-variable'
@@ -47,11 +46,11 @@ repository:
4746
begin: ([_$[:alpha:]][_$[:alnum:]]*)
4847
beginCaptures:
4948
'1': { name: variable.other.readwrite.tsx }
50-
end: (?=$|[;,}])
49+
end: (?=$|[;,}]|(\s+(of|in)\s+))
5150
patterns:
5251
- include: '#variable-initializer'
5352
- begin: \G
54-
end: (?!\G)(?=$|[;,=}])
53+
end: (?!\G)(?=$|[;,=}]|(\s+(of|in)\s+))
5554
patterns:
5655
- include: '#type-annotation'
5756
- include: '#string'
@@ -60,14 +59,14 @@ repository:
6059
destructuring-variable:
6160
patterns:
6261
- name: meta.object-binding-pattern-variable.tsx
63-
begin: (?<!=|:)\s*(\{)
62+
begin: (?<!=|:|of|in)\s*(\{)
6463
beginCaptures:
6564
'1': { name: punctuation.definition.binding-pattern.object.tsx }
66-
end: (?=$|[;,}])
65+
end: (?=$|[;,}]|(\s+(of|in)\s+))
6766
patterns:
6867
- include: '#variable-initializer'
6968
- begin: \G
70-
end: (?!\G)(?=$|[;,=}])
69+
end: (?!\G)(?=$|[;,=}]|(\s+(of|in)\s+))
7170
patterns:
7271
- begin: \G
7372
end: \}
@@ -78,14 +77,14 @@ repository:
7877
- include: '#type-annotation'
7978
- include: '#comment'
8079
- name: meta.array-binding-pattern-variable.tsx
81-
begin: (?<!=|:)\s*(\[)
80+
begin: (?<!=|:|of|in)\s*(\[)
8281
beginCaptures:
8382
'1': { name: punctuation.definition.binding-pattern.array.tsx }
84-
end: (?=$|[;,}])
83+
end: (?=$|[;,}]|(\s+(of|in)\s+))
8584
patterns:
8685
- include: '#variable-initializer'
8786
- begin: \G
88-
end: (?!\G)(?=$|[;,=}])
87+
end: (?!\G)(?=$|[;,=}]|(\s+(of|in)\s+))
8988
patterns:
9089
- begin: \G
9190
end: \]
@@ -885,16 +884,6 @@ repository:
885884
- include: '#switch-expression'
886885
- include: '#switch-block'
887886

888-
889-
for-in-simple:
890-
name: forin.expr.tsx
891-
match: (?<=\()\s*\b(var|let|const)\s+([_$[:alpha:]][_$[:alnum:]]*)\s+(?:(in)|(of))\b(?!\$)
892-
captures:
893-
'1': { name: storage.type.tsx }
894-
'2': { name: variable.other.readwrite.tsx }
895-
'3': { name: keyword.operator.in.tsx }
896-
'4': { name: keyword.operator.of.tsx }
897-
898887
function-call:
899888
name: functioncall.expr.tsx
900889
patterns:

0 commit comments

Comments
 (0)