From 9aa6d647714e1d4a05aac7e688f787eed7b02ed2 Mon Sep 17 00:00:00 2001 From: Jelle Spreeuwenberg Date: Wed, 12 Aug 2026 11:47:07 +0200 Subject: [PATCH] updates --- modules/capabilities/helix.nix | 42 ++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/modules/capabilities/helix.nix b/modules/capabilities/helix.nix index 16a455b..27a58f7 100644 --- a/modules/capabilities/helix.nix +++ b/modules/capabilities/helix.nix @@ -16,6 +16,11 @@ finalAttrs: previousAttrs: { version = "0.18.3"; + pnpmWorkspaces = [ + "svelte-language-server..." + "typescript-svelte-plugin..." + ]; + src = pkgs.fetchFromGitHub { owner = "sveltejs"; repo = "language-tools"; @@ -35,6 +40,23 @@ hash = "sha256-fY3hrCkr/soJk1gp39/jec8lT2ZJI27xRBCZi006oWA="; }; + buildPhase = builtins.replaceStrings + [ "pnpm run --filter=svelte-language-server... build" ] + [ '' + pnpm run --filter=svelte-language-server... build + pnpm --filter=typescript-svelte-plugin exec tsc \ + -p ./ \ + --pretty false \ + --types node \ + --typeRoots ../../node_modules/.pnpm/node_modules/@types + '' ] + previousAttrs.buildPhase; + + installPhase = builtins.replaceStrings + [ "pnpm install --filter=svelte-language-server..." ] + [ "pnpm install --filter=svelte-language-server... --filter=typescript-svelte-plugin..." ] + previousAttrs.installPhase; + postInstall = (previousAttrs.postInstall or "") + '' substituteInPlace \ "$out/lib/node_modules/svelte-language-server/packages/language-server/node_modules/@vscode/emmet-helper/lib/cjs/emmetHelper.js" \ @@ -44,6 +66,9 @@ ln -s ../packages/typescript-plugin \ "$out/lib/node_modules/svelte-language-server/node_modules/typescript-svelte-plugin" + + ln -s ../packages/language-server/node_modules/svelte \ + "$out/lib/node_modules/svelte-language-server/node_modules/svelte" ''; } ); @@ -114,13 +139,16 @@ environment.SNIPPETS_PATH = "${pkgs.vimPlugins.friendly-snippets}/snippets"; }; - language-server.vtsls.config.vtsls.tsserver.globalPlugins = [ - { - name = "typescript-svelte-plugin"; - location = "${svelteLanguageServer}/lib/node_modules/svelte-language-server"; - enableForWorkspaceTypeScriptVersions = true; - } - ]; + language-server.vtsls.config.vtsls = { + autoUseWorkspaceTsdk = true; + tsserver.globalPlugins = [ + { + name = "typescript-svelte-plugin"; + location = "${svelteLanguageServer}/lib/node_modules/svelte-language-server"; + enableForWorkspaceTypeScriptVersions = true; + } + ]; + }; language = [ {