Skip to content

Commit 5aff5b0

Browse files
committed
Fixing issues with type parameters.
1 parent ec6b9ca commit 5aff5b0

File tree

5 files changed

+28
-12
lines changed

5 files changed

+28
-12
lines changed

TypeScript.YAML-tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ repository:
4949
beginCaptures:
5050
'1': { name: keyword.other.ts }
5151
'2': { name: storage.type.ts }
52-
end: (?=$|[,);>]|var|type|function|class|interface)
52+
end: (?=[,);>]|var|type|function|class|interface)
5353
patterns:
5454
- include: '#type-parameters'
5555
- name: keyword.operator.ts

TypeScript.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1501,7 +1501,7 @@
15011501
</dict>
15021502
</dict>
15031503
<key>end</key>
1504-
<string>(?=$|[,);&gt;]|var|type|function|class|interface)</string>
1504+
<string>(?=[,);&gt;]|var|type|function|class|interface)</string>
15051505
<key>name</key>
15061506
<string>meta.type.declaration.ts</string>
15071507
<key>patterns</key>

TypeScriptReact.YAML-tmLanguage

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ repository:
4646
- include: '#enum-declaration'
4747

4848
type-declaration:
49-
name: meta.type.declaration.ts
49+
name: meta.type.declaration.tsx
5050
begin: \b(type)\b\s+([a-zA-Z_$][\w$]*)\s*
5151
beginCaptures:
52-
'1': { name: keyword.other.ts }
53-
'2': { name: storage.type.ts }
54-
end: (?=$|[,);>]|var|type|function|class|interface)
52+
'1': { name: keyword.other.tsx }
53+
'2': { name: storage.type.tsx }
54+
end: (?=[,);>]|var|type|function|class|interface)
5555
patterns:
5656
- include: '#type-parameters'
57-
- name: keyword.operator.ts
57+
- name: keyword.operator.tsx
5858
match: '=\s*'
5959
- include: '#type'
6060

TypeScriptReact.tmLanguage

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1858,18 +1858,18 @@
18581858
<key>1</key>
18591859
<dict>
18601860
<key>name</key>
1861-
<string>keyword.other.ts</string>
1861+
<string>keyword.other.tsx</string>
18621862
</dict>
18631863
<key>2</key>
18641864
<dict>
18651865
<key>name</key>
1866-
<string>storage.type.ts</string>
1866+
<string>storage.type.tsx</string>
18671867
</dict>
18681868
</dict>
18691869
<key>end</key>
1870-
<string>(?=$|[,);&gt;]|var|type|function|class|interface)</string>
1870+
<string>(?=[,);&gt;]|var|type|function|class|interface)</string>
18711871
<key>name</key>
1872-
<string>meta.type.declaration.ts</string>
1872+
<string>meta.type.declaration.tsx</string>
18731873
<key>patterns</key>
18741874
<array>
18751875
<dict>
@@ -1880,7 +1880,7 @@
18801880
<key>match</key>
18811881
<string>=\s*</string>
18821882
<key>name</key>
1883-
<string>keyword.operator.ts</string>
1883+
<string>keyword.operator.tsx</string>
18841884
</dict>
18851885
<dict>
18861886
<key>include</key>

tests/cases/Issue63.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
^type ^Callback <^string> = ^(error: Error, value: T)
2+
3+
^f1 = ^foo ^< ^bar(a, b)>; // bar is an expression (function call)
4+
5+
^f2 = ^foo<bar>(a, b){ // bar is a generic function definition
6+
}
7+
8+
^f3 = ^foo^<^bar extends ^{ ^a: () ^=> ^string }>^(a, b){ // as above, but has an object literal type constraint
9+
}
10+
11+
/*^ */
12+
13+
^
14+
^f4 = ^foo ^< ^bar(a, b) ^> ^baz(5); // similar to f1, but with a > operator also
15+
16+
^f5 = ^foo < ^(function(x) { ^return x; } )(5); // IIFE as RHS of expression

0 commit comments

Comments
 (0)