From db408cc9c2f40c1d5608c2591bd23a534ee74cb6 Mon Sep 17 00:00:00 2001 From: Gabriela Araujo Britto Date: Tue, 5 Oct 2021 16:37:55 -0700 Subject: [PATCH] fix snippet adding --- src/services/completions.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/services/completions.ts b/src/services/completions.ts index 5625993b18f..81442b66d41 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -760,8 +760,8 @@ namespace ts.Completions { let body; if (preferences.includeCompletionsWithSnippetText) { isSnippet = true; - // const tabStopStatement = factory.createExpressionStatement(factory.createIdentifier("$1")); - // body = factory.createBlock([tabStopStatement], /* multiline */ true); + // We are adding a final tabstop (i.e. $0) in the body of the suggested member, if it has one. + // NOTE: this assumes we won't have more than one body in the completion nodes. const emptyStatement = factory.createExpressionStatement(factory.createIdentifier("")); setSnippetElement(emptyStatement, { kind: SnippetKind.TabStop, order: 0 }); body = factory.createBlock([emptyStatement], /* multiline */ true); @@ -821,7 +821,9 @@ namespace ts.Completions { body); if (completionNodes.length) { - addSnippets(completionNodes); + if (preferences.includeCompletionsWithSnippetText) { + addSnippets(completionNodes); + } insertText = printer.printList(ListFormat.MultiLine, factory.createNodeArray(completionNodes), sourceFile); } return { insertText, isSnippet };