Skip to content

Commit 4ed3a65

Browse files
committed
Merge pull request #57 from Microsoft/i16
Fix issue #16
2 parents f036ee3 + 1296569 commit 4ed3a65

16 files changed

+231
-130
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,25 @@ patterns:
1111
repository:
1212
var-expr:
1313
name: meta.var.expr.ts
14-
begin: (?<!\()\s*\b(var|let|const(?!\s+enum))\s+([a-zA-Z_$][\w$]*)
14+
begin: (?<!\()\s*\b(var|let|const(?!\s+enum)\b)
1515
beginCaptures:
1616
'1': { name: storage.type.ts }
17-
'2': { name: variable.ts }
18-
end: '(?=$|[;=\}\{])|(?<=\})'
17+
end: (?=$|;)
18+
patterns:
19+
- include: '#var-single-variable'
20+
- include: '#comment'
21+
22+
var-single-variable:
23+
name: meta.var-single-variable.expr.ts
24+
begin: \b([a-zA-Z_$][\w$]*)\s*(=?)
25+
beginCaptures:
26+
'1': { name: variable.ts }
27+
end: (?=$|[;,])
1928
patterns:
2029
- include: '#type-annotation'
2130
- include: '#string'
2231
- include: '#comment'
32+
- include: '#expression'
2333

2434
control-statement:
2535
name: keyword.control.ts
@@ -93,6 +103,7 @@ repository:
93103
'1': { name: brace.curly.ts }
94104
patterns:
95105
- include: '#comment'
106+
- include: '#object-heritage'
96107
- include: '#type-parameters'
97108
- include: '#object-heritage-parent'
98109

TypeScript.tmLanguage

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -982,6 +982,10 @@
982982
<key>include</key>
983983
<string>#comment</string>
984984
</dict>
985+
<dict>
986+
<key>include</key>
987+
<string>#object-heritage</string>
988+
</dict>
985989
<dict>
986990
<key>include</key>
987991
<string>#type-parameters</string>
@@ -1663,24 +1667,47 @@
16631667
<key>var-expr</key>
16641668
<dict>
16651669
<key>begin</key>
1666-
<string>(?&lt;!\()\s*\b(var|let|const(?!\s+enum))\s+([a-zA-Z_$][\w$]*)</string>
1670+
<string>(?&lt;!\()\s*\b(var|let|const(?!\s+enum)\b)</string>
16671671
<key>beginCaptures</key>
16681672
<dict>
16691673
<key>1</key>
16701674
<dict>
16711675
<key>name</key>
16721676
<string>storage.type.ts</string>
16731677
</dict>
1674-
<key>2</key>
1678+
</dict>
1679+
<key>end</key>
1680+
<string>(?=$|;)</string>
1681+
<key>name</key>
1682+
<string>meta.var.expr.ts</string>
1683+
<key>patterns</key>
1684+
<array>
1685+
<dict>
1686+
<key>include</key>
1687+
<string>#var-single-variable</string>
1688+
</dict>
1689+
<dict>
1690+
<key>include</key>
1691+
<string>#comment</string>
1692+
</dict>
1693+
</array>
1694+
</dict>
1695+
<key>var-single-variable</key>
1696+
<dict>
1697+
<key>begin</key>
1698+
<string>\b([a-zA-Z_$][\w$]*)\s*(=?)</string>
1699+
<key>beginCaptures</key>
1700+
<dict>
1701+
<key>1</key>
16751702
<dict>
16761703
<key>name</key>
16771704
<string>variable.ts</string>
16781705
</dict>
16791706
</dict>
16801707
<key>end</key>
1681-
<string>(?=$|[;=\}\{])|(?&lt;=\})</string>
1708+
<string>(?=$|[;,])</string>
16821709
<key>name</key>
1683-
<string>meta.var.expr.ts</string>
1710+
<string>meta.var-single-variable.expr.ts</string>
16841711
<key>patterns</key>
16851712
<array>
16861713
<dict>
@@ -1695,6 +1722,10 @@
16951722
<key>include</key>
16961723
<string>#comment</string>
16971724
</dict>
1725+
<dict>
1726+
<key>include</key>
1727+
<string>#expression</string>
1728+
</dict>
16981729
</array>
16991730
</dict>
17001731
<key>variable-initializer</key>

TypeScriptReact.YAML-tmLanguage

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,25 @@ patterns:
1414
repository:
1515
var-expr:
1616
name: meta.var.expr.tsx
17-
begin: (?<!\()\s*\b(var|let|const(?!\s+enum))\s+([a-zA-Z_$][\w$]*)
17+
begin: (?<!\()\s*\b(var|let|const(?!\s+enum)\b)
1818
beginCaptures:
1919
'1': { name: storage.type.tsx }
20-
'2': { name: variable.tsx }
21-
end: '(?=$|[;=\}\{])|(?<=\})'
20+
end: (?=$|;)
21+
patterns:
22+
- include: '#var-single-variable'
23+
- include: '#comment'
24+
25+
var-single-variable:
26+
name: meta.var-single-variable.expr.tsx
27+
begin: \b([a-zA-Z_$][\w$]*)\s*(=?)
28+
beginCaptures:
29+
'1': { name: variable.tsx }
30+
end: (?=$|[;,])
2231
patterns:
2332
- include: '#type-annotation'
2433
- include: '#string'
2534
- include: '#comment'
35+
- include: '#expression'
2636

2737
control-statement:
2838
name: keyword.control.tsx
@@ -96,6 +106,7 @@ repository:
96106
'1': { name: brace.curly.tsx }
97107
patterns:
98108
- include: '#comment'
109+
- include: '#object-heritage'
99110
- include: '#type-parameters'
100111
- include: '#object-heritage-parent'
101112

TypeScriptReact.tmLanguage

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1323,6 +1323,10 @@
13231323
<key>include</key>
13241324
<string>#comment</string>
13251325
</dict>
1326+
<dict>
1327+
<key>include</key>
1328+
<string>#object-heritage</string>
1329+
</dict>
13261330
<dict>
13271331
<key>include</key>
13281332
<string>#type-parameters</string>
@@ -2004,24 +2008,47 @@
20042008
<key>var-expr</key>
20052009
<dict>
20062010
<key>begin</key>
2007-
<string>(?&lt;!\()\s*\b(var|let|const(?!\s+enum))\s+([a-zA-Z_$][\w$]*)</string>
2011+
<string>(?&lt;!\()\s*\b(var|let|const(?!\s+enum)\b)</string>
20082012
<key>beginCaptures</key>
20092013
<dict>
20102014
<key>1</key>
20112015
<dict>
20122016
<key>name</key>
20132017
<string>storage.type.tsx</string>
20142018
</dict>
2015-
<key>2</key>
2019+
</dict>
2020+
<key>end</key>
2021+
<string>(?=$|;)</string>
2022+
<key>name</key>
2023+
<string>meta.var.expr.tsx</string>
2024+
<key>patterns</key>
2025+
<array>
2026+
<dict>
2027+
<key>include</key>
2028+
<string>#var-single-variable</string>
2029+
</dict>
2030+
<dict>
2031+
<key>include</key>
2032+
<string>#comment</string>
2033+
</dict>
2034+
</array>
2035+
</dict>
2036+
<key>var-single-variable</key>
2037+
<dict>
2038+
<key>begin</key>
2039+
<string>\b([a-zA-Z_$][\w$]*)\s*(=?)</string>
2040+
<key>beginCaptures</key>
2041+
<dict>
2042+
<key>1</key>
20162043
<dict>
20172044
<key>name</key>
20182045
<string>variable.tsx</string>
20192046
</dict>
20202047
</dict>
20212048
<key>end</key>
2022-
<string>(?=$|[;=\}\{])|(?&lt;=\})</string>
2049+
<string>(?=$|[;,])</string>
20232050
<key>name</key>
2024-
<string>meta.var.expr.tsx</string>
2051+
<string>meta.var-single-variable.expr.tsx</string>
20252052
<key>patterns</key>
20262053
<array>
20272054
<dict>
@@ -2036,6 +2063,10 @@
20362063
<key>include</key>
20372064
<string>#comment</string>
20382065
</dict>
2066+
<dict>
2067+
<key>include</key>
2068+
<string>#expression</string>
2069+
</dict>
20392070
</array>
20402071
</dict>
20412072
<key>variable-initializer</key>
Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
[4, 19]: source.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.brace.angle.ts
2-
[4, 20]: source.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.paren.cover.ts
3-
[4, 21]: source.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.paren.cover.ts meta.type.name.ts
4-
[4, 30]: source.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.paren.cover.ts meta.type.name.ts
5-
[4, 43]: source.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.paren.cover.ts meta.type.name.ts
6-
[4, 57]: source.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.paren.cover.ts meta.type.primitive.ts storage.type.ts
7-
[4, 65]: source.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.function.return.ts keyword.operator.ts
8-
[4, 68]: source.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.function.return.ts meta.type.primitive.ts storage.type.ts
9-
[4, 73]: source.ts meta.block.ts meta.object.member.ts constant.language.null.ts
10-
[17, 17]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts cast.expr.ts meta.brace.angle.ts
11-
[17, 18]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts cast.expr.ts meta.type.paren.cover.ts
12-
[17, 19]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts cast.expr.ts meta.type.paren.cover.ts meta.type.name.ts
13-
[17, 22]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts cast.expr.ts meta.type.paren.cover.ts meta.type.primitive.ts storage.type.ts
14-
[17, 30]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts cast.expr.ts meta.type.function.return.ts keyword.operator.ts
15-
[17, 33]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts cast.expr.ts meta.type.function.return.ts meta.type.primitive.ts storage.type.ts
16-
[17, 39]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts cast.expr.ts meta.brace.angle.ts
17-
[17, 41]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts
1+
[4, 19]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.brace.angle.ts
2+
[4, 20]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.paren.cover.ts
3+
[4, 21]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.paren.cover.ts meta.type.name.ts
4+
[4, 30]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.paren.cover.ts meta.type.name.ts
5+
[4, 43]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.paren.cover.ts meta.type.name.ts
6+
[4, 57]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.paren.cover.ts meta.type.primitive.ts storage.type.ts
7+
[4, 65]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.function.return.ts keyword.operator.ts
8+
[4, 68]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.block.ts meta.object.member.ts cast.expr.ts meta.type.function.return.ts meta.type.primitive.ts storage.type.ts
9+
[4, 73]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.block.ts meta.object.member.ts constant.language.null.ts
10+
[17, 17]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts meta.var.expr.ts meta.var-single-variable.expr.ts cast.expr.ts meta.brace.angle.ts
11+
[17, 18]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts meta.var.expr.ts meta.var-single-variable.expr.ts cast.expr.ts meta.type.paren.cover.ts
12+
[17, 19]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts meta.var.expr.ts meta.var-single-variable.expr.ts cast.expr.ts meta.type.paren.cover.ts meta.type.name.ts
13+
[17, 22]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts meta.var.expr.ts meta.var-single-variable.expr.ts cast.expr.ts meta.type.paren.cover.ts meta.type.primitive.ts storage.type.ts
14+
[17, 30]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts meta.var.expr.ts meta.var-single-variable.expr.ts cast.expr.ts meta.type.function.return.ts keyword.operator.ts
15+
[17, 33]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts meta.var.expr.ts meta.var-single-variable.expr.ts cast.expr.ts meta.type.function.return.ts meta.type.primitive.ts storage.type.ts
16+
[17, 39]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts meta.var.expr.ts meta.var-single-variable.expr.ts cast.expr.ts meta.brace.angle.ts
17+
[17, 41]: source.ts meta.function.ts meta.decl.block.ts meta.block.ts meta.var.expr.ts meta.var-single-variable.expr.ts

tests/baselines/Comments.txt

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
[9, 5]: source.ts comment.block.ts
2-
[10, 7]: source.ts meta.var.expr.ts comment.block.ts
3-
[11, 8]: source.ts meta.var.expr.ts meta.type.annotation.ts comment.block.ts
4-
[12, 15]: source.ts meta.var.expr.ts meta.type.annotation.ts comment.block.ts
5-
[13, 17]: source.ts comment.block.ts
6-
[14, 25]: source.ts comment.block.ts
1+
[9, 5]: source.ts meta.var.expr.ts comment.block.ts
2+
[10, 7]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts comment.block.ts
3+
[11, 8]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts comment.block.ts
4+
[12, 15]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts comment.block.ts
5+
[13, 17]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts comment.block.ts
6+
[14, 25]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts comment.block.ts
77
[15, 26]: source.ts comment.block.ts
8-
[17, 5]: source.ts comment.block.ts
9-
[18, 7]: source.ts meta.var.expr.ts comment.block.ts
10-
[19, 8]: source.ts meta.var.expr.ts meta.type.annotation.ts comment.block.ts
11-
[20, 15]: source.ts meta.var.expr.ts meta.type.annotation.ts comment.block.ts
12-
[21, 17]: source.ts comment.block.ts
13-
[22, 25]: source.ts comment.block.ts
8+
[17, 5]: source.ts meta.var.expr.ts comment.block.ts
9+
[18, 7]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts comment.block.ts
10+
[19, 8]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts comment.block.ts
11+
[20, 15]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts meta.type.annotation.ts comment.block.ts
12+
[21, 17]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts comment.block.ts
13+
[22, 25]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts comment.block.ts
1414
[24, 1]: source.ts comment.block.ts
1515
[25, 11]: source.ts meta.declaration.object.ts comment.block.ts
1616
[26, 13]: source.ts meta.declaration.object.ts comment.block.ts
@@ -69,9 +69,9 @@
6969
[54, 12]: source.ts meta.declaration.object.ts comment.block.ts
7070
[57, 31]: source.ts meta.declaration.object.ts meta.type.parameters.ts comment.block.ts
7171
[60, 39]: source.ts meta.declaration.object.ts meta.type.parameters.ts comment.block.ts
72-
[64, 6]: source.ts meta.var.expr.ts comment.block.ts
73-
[65, 7]: source.ts comment.block.ts
74-
[66, 11]: source.ts new.expr.ts comment.block.ts
75-
[68, 7]: source.ts meta.var.expr.ts comment.block.ts
76-
[69, 9]: source.ts comment.block.ts
77-
[70, 13]: source.ts new.expr.ts comment.block.ts
72+
[64, 6]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts comment.block.ts
73+
[65, 7]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts comment.block.ts
74+
[66, 11]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts new.expr.ts comment.block.ts
75+
[68, 7]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts comment.block.ts
76+
[69, 9]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts comment.block.ts
77+
[70, 13]: source.ts meta.var.expr.ts meta.var-single-variable.expr.ts new.expr.ts comment.block.ts

tests/baselines/FunctionMethodOverloads.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,16 @@
2626
[17, 5]: source.ts meta.function.ts meta.decl.block.ts keyword.control.ts
2727
[23, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
2828
[23, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
29-
[24, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts storage.modifier.ts
30-
[24, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts
31-
[25, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts storage.modifier.ts
32-
[25, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts
33-
[26, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts storage.modifier.ts
34-
[26, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts
35-
[27, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts storage.modifier.ts
36-
[27, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts
37-
[28, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts storage.modifier.ts
38-
[28, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.method.overload.declaration.ts entity.name.function.ts
29+
[24, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
30+
[24, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
31+
[25, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
32+
[25, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
33+
[26, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
34+
[26, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
35+
[27, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
36+
[27, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
37+
[28, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
38+
[28, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
3939
[29, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts keyword.control.ts
4040
[32, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
4141
[32, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
@@ -49,4 +49,4 @@
4949
[36, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
5050
[37, 5]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts storage.modifier.ts
5151
[37, 12]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts entity.name.function.ts
52-
[38, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts keyword.control.ts
52+
[38, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts keyword.control.ts

tests/baselines/Issue156.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
[2, 22]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts meta.type.annotation.ts meta.object.type.ts meta.brace.curly.ts
55
[2, 26]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts parameter.name.ts variable.parameter.ts
66
[2, 38]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.function.type.parameter.ts meta.type.annotation.ts meta.type.primitive.ts storage.type.ts
7-
[4, 9]: source.ts meta.declaration.object.ts meta.object.body.ts meta.method.declaration.ts meta.decl.block.ts
7+
[4, 9]: source.ts meta.declaration.object.ts meta.object.body.ts

0 commit comments

Comments
 (0)