From 18985893d60250abfe08f274085fccd019938c55 Mon Sep 17 00:00:00 2001 From: Mathias Picker Date: Sat, 6 Dec 2025 18:35:21 +0100 Subject: [PATCH 1/3] early return in getCompletions if in style or script tag --- .../src/plugins/svelte/features/getCompletions.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/language-server/src/plugins/svelte/features/getCompletions.ts b/packages/language-server/src/plugins/svelte/features/getCompletions.ts index 99259ba94..663057682 100644 --- a/packages/language-server/src/plugins/svelte/features/getCompletions.ts +++ b/packages/language-server/src/plugins/svelte/features/getCompletions.ts @@ -34,16 +34,16 @@ export function getCompletions( svelteDoc: SvelteDocument, position: Position ): CompletionList | null { + if (inStyleOrScript(svelteDoc, position)) { + return null; + } + const offset = svelteDoc.offsetAt(position); - const lastCharactersBeforePosition = svelteDoc .getText() // use last 10 characters, should cover 99% of all cases .substr(Math.max(offset - 10, 0), Math.min(offset, 10)); const precededByOpeningBracket = /[\s\S]*{\s*[#:/@]\w*$/.test(lastCharactersBeforePosition); - if (inStyleOrScript(svelteDoc, position)) { - return null; - } if (precededByOpeningBracket) { return getTagCompletionsWithinMoustache(); From 747d73210c6d16ac63a4562157ff3be23a6623a2 Mon Sep 17 00:00:00 2001 From: Mathias Picker <48158184+MathiasWP@users.noreply.github.com> Date: Sat, 6 Dec 2025 18:55:27 +0100 Subject: [PATCH 2/3] Create big-cheetahs-admire.md --- .changeset/big-cheetahs-admire.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/big-cheetahs-admire.md diff --git a/.changeset/big-cheetahs-admire.md b/.changeset/big-cheetahs-admire.md new file mode 100644 index 000000000..8baf57a4c --- /dev/null +++ b/.changeset/big-cheetahs-admire.md @@ -0,0 +1,5 @@ +--- +"svelte-language-server": patch +--- + +[perf]: move return statement in `getCompletions` so it returns immediately if possible From 5e43f3978b1f2544827f8f1096da4ee490a63e7c Mon Sep 17 00:00:00 2001 From: Mathias Picker Date: Sun, 7 Dec 2025 11:45:01 +0100 Subject: [PATCH 3/3] format --- .changeset/big-cheetahs-admire.md | 2 +- .../src/plugins/svelte/features/getCompletions.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.changeset/big-cheetahs-admire.md b/.changeset/big-cheetahs-admire.md index 8baf57a4c..d6b04ba74 100644 --- a/.changeset/big-cheetahs-admire.md +++ b/.changeset/big-cheetahs-admire.md @@ -1,5 +1,5 @@ --- -"svelte-language-server": patch +'svelte-language-server': patch --- [perf]: move return statement in `getCompletions` so it returns immediately if possible diff --git a/packages/language-server/src/plugins/svelte/features/getCompletions.ts b/packages/language-server/src/plugins/svelte/features/getCompletions.ts index 663057682..5410cbad6 100644 --- a/packages/language-server/src/plugins/svelte/features/getCompletions.ts +++ b/packages/language-server/src/plugins/svelte/features/getCompletions.ts @@ -37,7 +37,7 @@ export function getCompletions( if (inStyleOrScript(svelteDoc, position)) { return null; } - + const offset = svelteDoc.offsetAt(position); const lastCharactersBeforePosition = svelteDoc .getText()