diff --git a/src/services/completions.ts b/src/services/completions.ts index 48e1c28bf01de..eb2933f3682ae 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -1171,7 +1171,7 @@ namespace ts.Completions { /*modifiers*/ undefined, typedParam.dotDotDotToken, typedParam.name, - typedParam.questionToken, + /*questionToken*/ undefined, /*type*/ undefined, typedParam.initializer, )); diff --git a/tests/cases/fourslash/completionsObjectLiteralMethod5.ts b/tests/cases/fourslash/completionsObjectLiteralMethod5.ts new file mode 100644 index 0000000000000..7e87be7bba47d --- /dev/null +++ b/tests/cases/fourslash/completionsObjectLiteralMethod5.ts @@ -0,0 +1,38 @@ +/// + +// @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)", + }, + }, + ], +});