Skip to content
This repository was archived by the owner on Oct 16, 2020. It is now read-only.

Commit f31e841

Browse files
tomv564felixfbecker
authored andcommitted
fix(completion): only return InsertTextFormat.Snippet when a snippet is returned (#363)
1 parent d047d67 commit f31e841

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

src/test/typescript-service-helpers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2457,7 +2457,7 @@ export function describeTypeScriptService(createService: TypeScriptServiceFactor
24572457
kind: CompletionItemKind.Property,
24582458
documentation: 'qux doc',
24592459
sortText: '0',
2460-
insertTextFormat: InsertTextFormat.Snippet,
2460+
insertTextFormat: InsertTextFormat.PlainText,
24612461
insertText: 'qux',
24622462
detail: '(property) A.qux: number',
24632463
data: undefined

src/typescript-service.ts

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,19 +1093,15 @@ export class TypeScriptService {
10931093
if (details) {
10941094
item.documentation = ts.displayPartsToString(details.documentation)
10951095
item.detail = ts.displayPartsToString(details.displayParts)
1096-
if (this.supportsCompletionWithSnippets) {
1096+
if (this.supportsCompletionWithSnippets &&
1097+
(details.kind === 'method' || details.kind === 'function')) {
1098+
const parameters = details.displayParts
1099+
.filter(p => p.kind === 'parameterName')
1100+
// tslint:disable-next-line:no-invalid-template-strings
1101+
.map((p, i) => '${' + `${i + 1}:${p.text}` + '}')
1102+
const paramString = parameters.join(', ')
1103+
item.insertText = details.name + `(${paramString})`
10971104
item.insertTextFormat = InsertTextFormat.Snippet
1098-
if (details.kind === 'method' || details.kind === 'function') {
1099-
const parameters = details.displayParts
1100-
.filter(p => p.kind === 'parameterName')
1101-
// tslint:disable-next-line:no-invalid-template-strings
1102-
.map((p, i) => '${' + `${i + 1}:${p.text}` + '}')
1103-
const paramString = parameters.join(', ')
1104-
item.insertText = details.name + `(${paramString})`
1105-
} else {
1106-
item.insertText = details.name
1107-
1108-
}
11091105
} else {
11101106
item.insertTextFormat = InsertTextFormat.PlainText
11111107
item.insertText = details.name

0 commit comments

Comments
 (0)