diff --git a/home/editors/helix/default.nix b/home/editors/helix/default.nix index a330032..7d6e28e 100644 --- a/home/editors/helix/default.nix +++ b/home/editors/helix/default.nix @@ -20,10 +20,10 @@ in { languages.language = [ { name = "javascript"; + language-servers = typescriptLanguageServers; # TODO also configure eslint for diagnostics # formatter.command = "eslint_d --fix"; formatter = prettier "typescript"; - language-servers = typescriptLanguageServers; auto-format = true; } { @@ -44,11 +44,15 @@ in { formatter = prettier "typescript"; auto-format = true; } + { + name = "python"; + language-servers = [ "pyright" ]; + } { name = "nix"; # `nix fmt` does not support stdin formatter.command = "nixfmt"; - language-servers = [ "nil" "statix" ]; + language-servers = [ "nixd" "statix" ]; auto-format = true; } { @@ -73,7 +77,6 @@ in { { name = "json"; formatter = prettier "json"; - auto-format = true; } { name = "yaml"; @@ -95,12 +98,14 @@ in { formatter = prettier "markdown"; auto-format = true; } + # newer versions of bash-language-server already integrate shfmt { name = "bash"; formatter = { command = "shfmt"; args = [ "-i" "2" "-" ]; }; + auto-format = true; } ]; languages.language-server = { @@ -164,6 +169,10 @@ in { workingDirectory.mode = "auto"; }; }; + pyright = { + command = "pyright-langserver"; + args = [ "--stdio" ]; + }; lua-language-server = { config = { runtime = { diff --git a/home/editors/lsp.nix b/home/editors/lsp.nix index e499db9..d902028 100644 --- a/home/editors/lsp.nix +++ b/home/editors/lsp.nix @@ -6,10 +6,11 @@ efm-langserver omnisharp-roslyn nil + unstable.nixd nls buf-language-server terraform-ls - python3Packages.python-lsp-server + pyright nodePackages.bash-language-server nodePackages.vim-language-server nodePackages.yaml-language-server