diff --git a/packages/language-server/src/plugins/typescript/features/CompletionProvider.ts b/packages/language-server/src/plugins/typescript/features/CompletionProvider.ts index b67a93780..b23e47892 100644 --- a/packages/language-server/src/plugins/typescript/features/CompletionProvider.ts +++ b/packages/language-server/src/plugins/typescript/features/CompletionProvider.ts @@ -275,10 +275,9 @@ export class CompletionsProviderImpl implements CompletionsProvider { } }); }); + + it('provide replacement for string completions', async () => { + const { completionProvider, document } = setup('string-completion.svelte'); + + const completions = await completionProvider.getCompletions( + document, + { + line: 1, + character: 10 + }, + { + triggerKind: CompletionTriggerKind.Invoked + } + ); + + const item = completions?.items.find((item) => item.label === '@hi'); + + delete item?.data; + + assert.deepStrictEqual(item, { + label: '@hi', + kind: CompletionItemKind.Constant, + sortText: '11', + preselect: undefined, + insertText: undefined, + commitCharacters: undefined, + textEdit: { + newText: '@hi', + range: { + end: { + character: 10, + line: 1 + }, + start: { + character: 9, + line: 1 + } + } + } + }); + }); }); function harmonizeNewLines(input?: string) { diff --git a/packages/language-server/test/plugins/typescript/testfiles/completions/string-completion.svelte b/packages/language-server/test/plugins/typescript/testfiles/completions/string-completion.svelte new file mode 100644 index 000000000..aea3ac04f --- /dev/null +++ b/packages/language-server/test/plugins/typescript/testfiles/completions/string-completion.svelte @@ -0,0 +1,5 @@ + \ No newline at end of file