diff --git a/src/services/completions.ts b/src/services/completions.ts index 1206030437..97b67dd670 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -985,7 +985,6 @@ namespace ts.Completions { symbol.declarations.some(d => d.kind !== SyntaxKind.SourceFile && d.kind !== SyntaxKind.ModuleDeclaration && d.kind !== SyntaxKind.EnumDeclaration)) { addTypeProperties(typeChecker.getTypeOfSymbolAtLocation(symbol, node)); } - setSortTextToOptionalMember(); return; } @@ -995,13 +994,11 @@ namespace ts.Completions { if (isMetaProperty(node) && (node.keywordToken === SyntaxKind.NewKeyword || node.keywordToken === SyntaxKind.ImportKeyword)) { const completion = (node.keywordToken === SyntaxKind.NewKeyword) ? "target" : "meta"; symbols.push(typeChecker.createSymbol(SymbolFlags.Property, escapeLeadingUnderscores(completion))); - setSortTextToOptionalMember(); return; } if (!isTypeLocation) { addTypeProperties(typeChecker.getTypeAtLocation(node)); - setSortTextToOptionalMember(); } } @@ -1581,7 +1578,6 @@ namespace ts.Completions { return type && typeChecker.getPropertiesOfType(classElementModifierFlags & ModifierFlags.Static ? typeChecker.getTypeOfSymbolAtLocation(type.symbol, decl) : type); }); symbols = filterClassMembersList(baseSymbols, decl.members, classElementModifierFlags); - setSortTextToOptionalMember(); } return GlobalsSearch.Success; @@ -2026,7 +2022,7 @@ namespace ts.Completions { } const filteredSymbols = symbols.filter(a => !seenNames.get(a.escapedName)); - setSortTextToMemberDeclaredBySpreadAssignment(membersDeclaredBySpreadAssignment, symbols); + setSortTextToMemberDeclaredBySpreadAssignment(membersDeclaredBySpreadAssignment, filteredSymbols); return filteredSymbols; } diff --git a/tests/cases/fourslash/completionsOptionalKindModifier.ts b/tests/cases/fourslash/completionsOptionalKindModifier.ts index 25bc0e0fde..a8c2eb5d63 100644 --- a/tests/cases/fourslash/completionsOptionalKindModifier.ts +++ b/tests/cases/fourslash/completionsOptionalKindModifier.ts @@ -8,7 +8,7 @@ verify.completions({ marker: "a", exact: [ - { name: "a", kind: "property", kindModifiers: "optional", sortText: completion.SortText.OptionalMember }, - { name: "method", kind: "method", kindModifiers: "optional", sortText: completion.SortText.OptionalMember }, + { name: "a", kind: "property", kindModifiers: "optional" }, + { name: "method", kind: "method", kindModifiers: "optional" }, ], }); diff --git a/tests/cases/fourslash/completionsOptionalMethod.ts b/tests/cases/fourslash/completionsOptionalMethod.ts index a08882a2cc..b585dca345 100644 --- a/tests/cases/fourslash/completionsOptionalMethod.ts +++ b/tests/cases/fourslash/completionsOptionalMethod.ts @@ -5,7 +5,4 @@ ////declare const x: { m?(): void }; ////x./**/ -verify.completions({ - marker: "", - exact: { name: 'm', kind: 'method', kindModifiers: 'declare,optional', sortText: completion.SortText.OptionalMember } -}); +verify.completions({ marker: "", exact: "m" }); \ No newline at end of file diff --git a/tests/cases/fourslash/completionsPropertiesPriorities.ts b/tests/cases/fourslash/completionsPropertiesPriorities.ts index 720a3d9494..f2269243e3 100644 --- a/tests/cases/fourslash/completionsPropertiesPriorities.ts +++ b/tests/cases/fourslash/completionsPropertiesPriorities.ts @@ -18,19 +18,6 @@ //// /*a*/ //// } -//// class A implements I { -//// /*b*/ -//// } - -const keywordEntries = ['private', 'protected', 'public', 'static', 'abstract', 'async', 'constructor', 'get', 'readonly', 'set'].map(keyword => { - return { - name: keyword, - kind: 'keyword', - kindModifiers: '', - sortText: completion.SortText.GlobalsOrKeywords - } -}); - verify.completions( { marker: ['a'], @@ -40,16 +27,5 @@ verify.completions( { name: 'c', kindModifiers: 'optional', sortText: completion.SortText.OptionalMember, kind: 'property' }, { name: 'd', sortText: completion.SortText.LocationPriority, kind: 'property' } ] - }, - { - marker: ['b'], - isNewIdentifierLocation: true, - exact:[ - { name: 'B', kindModifiers: 'optional', sortText: completion.SortText.OptionalMember, kind: 'property' }, - { name: 'a', sortText: completion.SortText.LocationPriority, kind: 'property' }, - { name: 'c', kindModifiers: 'optional', sortText: completion.SortText.OptionalMember, kind: 'property' }, - { name: 'd', sortText: completion.SortText.LocationPriority, kind: 'property' }, - ...keywordEntries - ] } ); \ No newline at end of file