fix(50796): omit questionToken in object literal method completions (#50802)

This commit is contained in:
magic-akari 2022-09-17 01:06:03 +08:00 committed by GitHub
parent 3b84f76fb2
commit 01cae69e34
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 1 deletions

View File

@ -1171,7 +1171,7 @@ namespace ts.Completions {
/*modifiers*/ undefined,
typedParam.dotDotDotToken,
typedParam.name,
typedParam.questionToken,
/*questionToken*/ undefined,
/*type*/ undefined,
typedParam.initializer,
));

View File

@ -0,0 +1,38 @@
/// <reference path="fourslash.ts" />
// @newline: LF
// @Filename: a.ts
////interface Foo {
//// method(x?: string): void;
////}
////const foo: Foo = {
//// /*m*/
////}
verify.completions({
marker: "m",
preferences: {
includeCompletionsWithInsertText: true,
includeCompletionsWithSnippetText: true,
includeCompletionsWithObjectLiteralMethodSnippets: true,
useLabelDetailsInCompletionEntries: true,
},
includes: [
{
name: "method",
sortText: completion.SortText.ObjectLiteralProperty(completion.SortText.LocationPriority, "method"),
insertText: undefined,
},
{
name: "method",
sortText: completion.SortText.SortBelow(
completion.SortText.ObjectLiteralProperty(completion.SortText.LocationPriority, "method")),
source: completion.CompletionSource.ObjectLiteralMethodSnippet,
isSnippet: true,
insertText: "method(x) {\n $0\n},",
labelDetails: {
detail: "(x)",
},
},
],
});