Skip to content

Commit b9800de

Browse files
committed
Suggest completions within tuple type arguments
1 parent 32a50c3 commit b9800de

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/services/completions.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5794,6 +5794,8 @@ export function getConstraintOfTypeArgumentProperty(node: Node, checker: TypeChe
57945794
case SyntaxKind.TypeLiteral:
57955795
case SyntaxKind.UnionType:
57965796
return t;
5797+
case SyntaxKind.OpenBracketToken:
5798+
return checker.getElementTypeOfArrayType(t);
57975799
}
57985800
}
57995801

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/// <reference path="fourslash.ts" />
2+
3+
////class Foo<T extends ('one' | 2)[]> {}
4+
////function foo<T extends ('one' | 2)[]>() {}
5+
////
6+
////type A = Foo<[/*0*/]>;
7+
////new Foo<[/*1*/]>();
8+
////foo<[/*2*/]>();
9+
////foo<[/*3*/]>;
10+
////Foo<[/*4*/]>;
11+
12+
verify.completions(
13+
{ marker: "0", includes: ['"one"', '2'], isNewIdentifierLocation: true },
14+
{ marker: "1", includes: ['"one"', '2'], isNewIdentifierLocation: true },
15+
{ marker: "2", includes: ['"one"', '2'], isNewIdentifierLocation: true },
16+
{ marker: "3", includes: ['"one"', '2'], isNewIdentifierLocation: true },
17+
{ marker: "4", includes: ['"one"', '2'], isNewIdentifierLocation: true }
18+
);

0 commit comments

Comments
 (0)