Skip to content

Commit 3d7bda0

Browse files
committed
prioritize exclude class or right of dot
1 parent 615cfaa commit 3d7bda0

File tree

4 files changed

+4
-35
lines changed

4 files changed

+4
-35
lines changed

src/services/completions.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -985,7 +985,6 @@ namespace ts.Completions {
985985
symbol.declarations.some(d => d.kind !== SyntaxKind.SourceFile && d.kind !== SyntaxKind.ModuleDeclaration && d.kind !== SyntaxKind.EnumDeclaration)) {
986986
addTypeProperties(typeChecker.getTypeOfSymbolAtLocation(symbol, node));
987987
}
988-
setSortTextToOptionalMember();
989988

990989
return;
991990
}
@@ -995,13 +994,11 @@ namespace ts.Completions {
995994
if (isMetaProperty(node) && (node.keywordToken === SyntaxKind.NewKeyword || node.keywordToken === SyntaxKind.ImportKeyword)) {
996995
const completion = (node.keywordToken === SyntaxKind.NewKeyword) ? "target" : "meta";
997996
symbols.push(typeChecker.createSymbol(SymbolFlags.Property, escapeLeadingUnderscores(completion)));
998-
setSortTextToOptionalMember();
999997
return;
1000998
}
1001999

10021000
if (!isTypeLocation) {
10031001
addTypeProperties(typeChecker.getTypeAtLocation(node));
1004-
setSortTextToOptionalMember();
10051002
}
10061003
}
10071004

@@ -1581,7 +1578,6 @@ namespace ts.Completions {
15811578
return type && typeChecker.getPropertiesOfType(classElementModifierFlags & ModifierFlags.Static ? typeChecker.getTypeOfSymbolAtLocation(type.symbol, decl) : type);
15821579
});
15831580
symbols = filterClassMembersList(baseSymbols, decl.members, classElementModifierFlags);
1584-
setSortTextToOptionalMember();
15851581
}
15861582

15871583
return GlobalsSearch.Success;
@@ -2026,7 +2022,7 @@ namespace ts.Completions {
20262022
}
20272023
const filteredSymbols = symbols.filter(a => !seenNames.get(a.escapedName));
20282024

2029-
setSortTextToMemberDeclaredBySpreadAssignment(membersDeclaredBySpreadAssignment, symbols);
2025+
setSortTextToMemberDeclaredBySpreadAssignment(membersDeclaredBySpreadAssignment, filteredSymbols);
20302026

20312027
return filteredSymbols;
20322028
}

tests/cases/fourslash/completionsOptionalKindModifier.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
verify.completions({
99
marker: "a",
1010
exact: [
11-
{ name: "a", kind: "property", kindModifiers: "optional", sortText: completion.SortText.OptionalMember },
12-
{ name: "method", kind: "method", kindModifiers: "optional", sortText: completion.SortText.OptionalMember },
11+
{ name: "a", kind: "property", kindModifiers: "optional" },
12+
{ name: "method", kind: "method", kindModifiers: "optional" },
1313
],
1414
});

tests/cases/fourslash/completionsOptionalMethod.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,4 @@
55
////declare const x: { m?(): void };
66
////x./**/
77

8-
verify.completions({
9-
marker: "",
10-
exact: { name: 'm', kind: 'method', kindModifiers: 'declare,optional', sortText: completion.SortText.OptionalMember }
11-
});
8+
verify.completions({ marker: "", exact: "m" });

tests/cases/fourslash/completionsPropertiesPriorities.ts

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,6 @@
1818
//// /*a*/
1919
//// }
2020

21-
//// class A implements I {
22-
//// /*b*/
23-
//// }
24-
25-
const keywordEntries = ['private', 'protected', 'public', 'static', 'abstract', 'async', 'constructor', 'get', 'readonly', 'set'].map(keyword => {
26-
return {
27-
name: keyword,
28-
kind: 'keyword',
29-
kindModifiers: '',
30-
sortText: completion.SortText.GlobalsOrKeywords
31-
}
32-
});
33-
3421
verify.completions(
3522
{
3623
marker: ['a'],
@@ -40,16 +27,5 @@ verify.completions(
4027
{ name: 'c', kindModifiers: 'optional', sortText: completion.SortText.OptionalMember, kind: 'property' },
4128
{ name: 'd', sortText: completion.SortText.LocationPriority, kind: 'property' }
4229
]
43-
},
44-
{
45-
marker: ['b'],
46-
isNewIdentifierLocation: true,
47-
exact:[
48-
{ name: 'B', kindModifiers: 'optional', sortText: completion.SortText.OptionalMember, kind: 'property' },
49-
{ name: 'a', sortText: completion.SortText.LocationPriority, kind: 'property' },
50-
{ name: 'c', kindModifiers: 'optional', sortText: completion.SortText.OptionalMember, kind: 'property' },
51-
{ name: 'd', sortText: completion.SortText.LocationPriority, kind: 'property' },
52-
...keywordEntries
53-
]
5430
}
5531
);

0 commit comments

Comments
 (0)