From 6cd992132d68428773f26de9d1c150c94a25358f Mon Sep 17 00:00:00 2001 From: Alexander T Date: Tue, 7 May 2019 16:32:48 +0300 Subject: [PATCH] Add string properties declaration to the completion list --- src/services/completions.ts | 3 +++ .../completionForComputedStringProperties.ts | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 tests/cases/fourslash/completionForComputedStringProperties.ts diff --git a/src/services/completions.ts b/src/services/completions.ts index 9d569fbedde..277d095d59a 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -965,6 +965,9 @@ namespace ts.Completions { symbolToOriginInfoMap[getSymbolId(firstAccessibleSymbol)] = !moduleSymbol || !isExternalModuleSymbol(moduleSymbol) ? { kind: SymbolOriginInfoKind.SymbolMemberNoExport } : { kind: SymbolOriginInfoKind.SymbolMemberExport, moduleSymbol, isDefaultExport: false }; } + else if (preferences.includeCompletionsWithInsertText) { + symbols.push(symbol); + } } else { symbols.push(symbol); diff --git a/tests/cases/fourslash/completionForComputedStringProperties.ts b/tests/cases/fourslash/completionForComputedStringProperties.ts new file mode 100644 index 00000000000..e03ceb4abd0 --- /dev/null +++ b/tests/cases/fourslash/completionForComputedStringProperties.ts @@ -0,0 +1,18 @@ +/// + +//// const p2 = "p2"; +//// interface A { +//// ["p1"]: string; +//// [p2]: string; +//// } +//// declare const a: A; +//// a[|./**/|] + +verify.completions({ + marker: "", + exact: [ + { name: "p1" }, + { name: "p2", insertText: '[p2]', replacementSpan: test.ranges()[0] }, + ], + preferences: { includeInsertTextCompletions: true }, +}); \ No newline at end of file