From cea49dfb0d2a8d1bb440c287374c3401f67eed84 Mon Sep 17 00:00:00 2001 From: Andy Date: Wed, 29 Aug 2018 16:38:42 -0700 Subject: [PATCH] Completion for tuple index doesn't need to include quotes (#26750) --- src/services/completions.ts | 3 +++ tests/cases/fourslash/completionsTuple.ts | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 tests/cases/fourslash/completionsTuple.ts diff --git a/src/services/completions.ts b/src/services/completions.ts index a82c4e02882..1e74ea3bbf1 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -264,6 +264,9 @@ namespace ts.Completions { } function quote(text: string, preferences: UserPreferences): string { + if (/^\d+$/.test(text)) { + return text; + } const quoted = JSON.stringify(text); switch (preferences.quotePreference) { case undefined: diff --git a/tests/cases/fourslash/completionsTuple.ts b/tests/cases/fourslash/completionsTuple.ts new file mode 100644 index 00000000000..9ce11b53d99 --- /dev/null +++ b/tests/cases/fourslash/completionsTuple.ts @@ -0,0 +1,18 @@ +/// + +////declare const x: [number, number]; +////x[|./**/|]; + +const replacementSpan = test.ranges()[0]; +verify.completions({ + marker: "", + includes: [ + { name: "0", insertText: '[0]', replacementSpan }, + { name: "1", insertText: '[1]', replacementSpan }, + "length", + ], + excludes: "2", + preferences: { + includeInsertTextCompletions: true, + }, +});