2022-07-28 21:37:49 +02:00
|
|
|
{ pkgs, config, lib, ... }@args:
|
|
|
|
let
|
|
|
|
helpers = import ./helpers.nix args;
|
|
|
|
servers = [
|
|
|
|
{
|
|
|
|
name = "clangd";
|
|
|
|
description = "Enable clangd LSP, for C/C++.";
|
|
|
|
packages = [ pkgs.clang-tools ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "cssls";
|
|
|
|
description = "Enable cssls, for CSS";
|
|
|
|
packages = [ pkgs.nodePackages.vscode-langservers-extracted ];
|
|
|
|
}
|
2022-11-16 13:37:35 +01:00
|
|
|
{
|
|
|
|
name = "denols";
|
|
|
|
description = "Enable denols, for Deno";
|
|
|
|
packages = [ pkgs.deno ];
|
|
|
|
}
|
2022-07-28 21:37:49 +02:00
|
|
|
{
|
|
|
|
name = "eslint";
|
|
|
|
description = "Enable eslint";
|
|
|
|
packages = [ pkgs.nodePackages.vscode-langservers-extracted ];
|
|
|
|
}
|
2022-10-22 14:55:22 +01:00
|
|
|
{
|
|
|
|
name = "elixirls";
|
|
|
|
description = "Enable elixirls";
|
2022-10-22 15:45:03 +01:00
|
|
|
packages = [ ];
|
2022-12-01 14:05:35 +00:00
|
|
|
cmd = [ "${pkgs.elixir_ls}/bin/elixir-ls" ];
|
2022-10-22 14:55:22 +01:00
|
|
|
}
|
2022-07-28 21:37:49 +02:00
|
|
|
{
|
|
|
|
name = "gdscript";
|
|
|
|
description = "Enable gdscript, for Godot";
|
2022-10-22 14:55:22 +01:00
|
|
|
packages = [ ];
|
2022-07-28 21:37:49 +02:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "gopls";
|
|
|
|
description = "Enable gopls, for Go.";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "html";
|
|
|
|
description = "Enable html, for HTML";
|
|
|
|
packages = [ pkgs.nodePackages.vscode-langservers-extracted ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "jsonls";
|
|
|
|
description = "Enable jsonls, for JSON";
|
|
|
|
packages = [ pkgs.nodePackages.vscode-langservers-extracted ];
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "pyright";
|
|
|
|
description = "Enable pyright, for Python.";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "rnix-lsp";
|
|
|
|
description = "Enable rnix LSP, for Nix";
|
|
|
|
serverName = "rnix";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "rust-analyzer";
|
|
|
|
description = "Enable rust-analyzer, for Rust.";
|
|
|
|
serverName = "rust_analyzer";
|
|
|
|
}
|
2022-12-15 18:03:31 +01:00
|
|
|
{
|
|
|
|
name = "tailwindcss";
|
|
|
|
description = "Enable tailwindcss language server, for tailwindcss";
|
|
|
|
packages = [ pkgs.nodePackages."@tailwindcss/language-server" ];
|
|
|
|
}
|
2022-10-28 01:40:40 +02:00
|
|
|
{
|
|
|
|
name = "tsserver";
|
|
|
|
description = "Enable tsserver for typescript";
|
|
|
|
packages = with pkgs; [
|
|
|
|
nodePackages.typescript
|
|
|
|
nodePackages.typescript-language-server
|
|
|
|
];
|
|
|
|
}
|
2022-07-28 21:37:49 +02:00
|
|
|
{
|
|
|
|
name = "vuels";
|
|
|
|
description = "Enable vuels, for Vue";
|
2022-11-30 18:04:24 +01:00
|
|
|
packages = [ pkgs.nodePackages.vls ];
|
2022-07-28 21:37:49 +02:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "zls";
|
|
|
|
description = "Enable zls, for Zig.";
|
|
|
|
}
|
2022-12-01 14:05:35 +00:00
|
|
|
{
|
|
|
|
name = "hls";
|
|
|
|
description = "Enable haskell language server";
|
2022-12-01 14:22:15 +00:00
|
|
|
packages = [ pkgs.haskell-language-server ];
|
2022-12-01 15:15:54 +00:00
|
|
|
cmd = [ "haskell-language-server-wrapper" ];
|
2022-12-01 14:05:35 +00:00
|
|
|
}
|
2022-07-28 21:37:49 +02:00
|
|
|
];
|
|
|
|
in
|
|
|
|
{
|
|
|
|
imports = lib.lists.map (helpers.mkLsp) servers;
|
|
|
|
}
|