diff --git a/modules/capabilities/helix.nix b/modules/capabilities/helix.nix index 202ca0c..c00168f 100644 --- a/modules/capabilities/helix.nix +++ b/modules/capabilities/helix.nix @@ -13,7 +13,7 @@ { pkgs, ... }: let svelteLanguageServer = pkgs.svelte-language-server.overrideAttrs ( - finalAttrs: _: { + finalAttrs: previousAttrs: { version = "0.18.3"; src = pkgs.fetchFromGitHub { @@ -34,6 +34,14 @@ fetcherVersion = 3; hash = "sha256-fY3hrCkr/soJk1gp39/jec8lT2ZJI27xRBCZi006oWA="; }; + + postInstall = (previousAttrs.postInstall or "") + '' + substituteInPlace \ + "$out/lib/node_modules/svelte-language-server/packages/language-server/node_modules/@vscode/emmet-helper/lib/cjs/emmetHelper.js" \ + --replace-fail \ + "'jsx.enabled': syntax === 'jsx'," \ + "'jsx.enabled': syntax === 'jsx' || syntax === 'html'," + ''; } ); in @@ -43,6 +51,7 @@ defaultEditor = true; package = inputs.helix.packages.${pkgs.stdenv.hostPlatform.system}.default; extraPackages = with pkgs; [ + vtsls svelteLanguageServer tailwindcss-language-server @@ -99,6 +108,34 @@ }; language = [ + { + name = "javascript"; + language-servers = [ + "vtsls" + "scls" + ]; + } + { + name = "jsx"; + language-servers = [ + "vtsls" + "scls" + ]; + } + { + name = "typescript"; + language-servers = [ + "vtsls" + "scls" + ]; + } + { + name = "tsx"; + language-servers = [ + "vtsls" + "scls" + ]; + } { name = "svelte"; formatter = {