Skip to content

Commit 632a9db

Browse files
committed
End type parameter regex only on '>'
Fixes #452
1 parent ac0314e commit 632a9db

File tree

5 files changed

+110
-3
lines changed

5 files changed

+110
-3
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1037,7 +1037,7 @@ repository:
10371037
begin: '(<)'
10381038
beginCaptures:
10391039
'1': { name: punctuation.definition.typeparameters.begin.ts }
1040-
end: '(?=$)|(>)'
1040+
end: '(>)'
10411041
endCaptures:
10421042
'1': { name: punctuation.definition.typeparameters.end.ts }
10431043
patterns:

TypeScript.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3125,7 +3125,7 @@
31253125
</dict>
31263126
</dict>
31273127
<key>end</key>
3128-
<string>(?=$)|(&gt;)</string>
3128+
<string>(&gt;)</string>
31293129
<key>endCaptures</key>
31303130
<dict>
31313131
<key>1</key>

TypeScriptReact.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3129,7 +3129,7 @@
31293129
</dict>
31303130
</dict>
31313131
<key>end</key>
3132-
<string>(?=$)|(&gt;)</string>
3132+
<string>(&gt;)</string>
31333133
<key>endCaptures</key>
31343134
<dict>
31353135
<key>1</key>

tests/baselines/Issue452.baseline.txt

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
original file
2+
-----------------------------------
3+
class Test<A, B>{}
4+
class Favorite extends Test<
5+
string | number,
6+
undefined
7+
> {
8+
// class content
9+
}
10+
-----------------------------------
11+
12+
Grammar: TypeScript.tmLanguage
13+
-----------------------------------
14+
>class Test<A, B>{}
15+
^^^^^
16+
source.ts meta.class.ts storage.type.class.ts
17+
^
18+
source.ts meta.class.ts
19+
^^^^
20+
source.ts meta.class.ts entity.name.type.class.ts
21+
^
22+
source.ts meta.class.ts meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts
23+
^
24+
source.ts meta.class.ts meta.type.parameters.ts entity.name.type.ts
25+
^
26+
source.ts meta.class.ts meta.type.parameters.ts punctuation.separator.comma.ts
27+
^
28+
source.ts meta.class.ts meta.type.parameters.ts
29+
^
30+
source.ts meta.class.ts meta.type.parameters.ts entity.name.type.ts
31+
^
32+
source.ts meta.class.ts meta.type.parameters.ts punctuation.definition.typeparameters.end.ts
33+
^
34+
source.ts meta.class.ts punctuation.definition.block.ts
35+
^
36+
source.ts meta.class.ts punctuation.definition.block.ts
37+
^^
38+
source.ts
39+
>class Favorite extends Test<
40+
^^^^^
41+
source.ts meta.class.ts storage.type.class.ts
42+
^
43+
source.ts meta.class.ts
44+
^^^^^^^^
45+
source.ts meta.class.ts entity.name.type.class.ts
46+
^
47+
source.ts meta.class.ts
48+
^^^^^^^
49+
source.ts meta.class.ts storage.modifier.ts
50+
^
51+
source.ts meta.class.ts
52+
^^^^
53+
source.ts meta.class.ts entity.other.inherited-class.ts
54+
^
55+
source.ts meta.class.ts meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts
56+
^^
57+
source.ts meta.class.ts meta.type.parameters.ts
58+
> string | number,
59+
^^
60+
source.ts meta.class.ts meta.type.parameters.ts
61+
^^^^^^
62+
source.ts meta.class.ts meta.type.parameters.ts support.type.primitive.ts
63+
^
64+
source.ts meta.class.ts meta.type.parameters.ts
65+
^
66+
source.ts meta.class.ts meta.type.parameters.ts keyword.operator.type.ts
67+
^
68+
source.ts meta.class.ts meta.type.parameters.ts
69+
^^^^^^
70+
source.ts meta.class.ts meta.type.parameters.ts support.type.primitive.ts
71+
^
72+
source.ts meta.class.ts meta.type.parameters.ts punctuation.separator.comma.ts
73+
^^
74+
source.ts meta.class.ts meta.type.parameters.ts
75+
> undefined
76+
^^
77+
source.ts meta.class.ts meta.type.parameters.ts
78+
^^^^^^^^^
79+
source.ts meta.class.ts meta.type.parameters.ts support.type.builtin.ts
80+
^^
81+
source.ts meta.class.ts meta.type.parameters.ts
82+
>> {
83+
^
84+
source.ts meta.class.ts meta.type.parameters.ts punctuation.definition.typeparameters.end.ts
85+
^
86+
source.ts meta.class.ts
87+
^
88+
source.ts meta.class.ts punctuation.definition.block.ts
89+
^^
90+
source.ts meta.class.ts
91+
> // class content
92+
^^
93+
source.ts meta.class.ts punctuation.whitespace.comment.leading.ts
94+
^^
95+
source.ts meta.class.ts comment.line.double-slash.ts punctuation.definition.comment.ts
96+
^^^^^^^^^^^^^^^^^
97+
source.ts meta.class.ts comment.line.double-slash.ts
98+
>}
99+
^
100+
source.ts meta.class.ts punctuation.definition.block.ts

tests/cases/Issue452.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class Test<A, B>{}
2+
class Favorite extends Test<
3+
string | number,
4+
undefined
5+
> {
6+
// class content
7+
}

0 commit comments

Comments
 (0)