From 77454b24bc38b121767ad7055c673724ef4a26fe Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Tue, 20 Nov 2018 17:48:59 -0800 Subject: [PATCH] Extract append joined placeholders --- .../src/features/completions.ts | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/extensions/typescript-language-features/src/features/completions.ts b/extensions/typescript-language-features/src/features/completions.ts index f48376f38fc..ad58abcdd72 100644 --- a/extensions/typescript-language-features/src/features/completions.ts +++ b/extensions/typescript-language-features/src/features/completions.ts @@ -635,13 +635,7 @@ export function snippetForFunctionCall( const snippet = new vscode.SnippetString(`${item.insertText || item.label}(`); const parameterListParts = getParameterListParts(displayParts, item.label); - for (let i = 0; i < parameterListParts.parts.length; ++i) { - const paramterPart = parameterListParts.parts[i]; - snippet.appendPlaceholder(paramterPart.text); - if (i !== parameterListParts.parts.length - 1) { - snippet.appendText(', '); - } - } + appendJoinedPlaceholders(snippet, parameterListParts.parts, ', '); if (parameterListParts.hasOptionalParameters) { snippet.appendTabstop(); @@ -651,6 +645,20 @@ export function snippetForFunctionCall( return snippet; } +function appendJoinedPlaceholders( + snippet: vscode.SnippetString, + parts: ReadonlyArray, + joiner: string +) { + for (let i = 0; i < parts.length; ++i) { + const paramterPart = parts[i]; + snippet.appendPlaceholder(paramterPart.text); + if (i !== parts.length - 1) { + snippet.appendText(joiner); + } + } +} + interface ParamterPart { readonly text: string; readonly optional?: boolean; -- GitLab