2023-09-27 10:43:23 +02:00
|
|
|
{pkgs, ...}: {
|
2023-03-22 07:42:02 +01:00
|
|
|
empty = {
|
|
|
|
plugins.lsp.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
example = {
|
|
|
|
plugins.lsp = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
keymaps = {
|
|
|
|
silent = true;
|
|
|
|
diagnostic = {
|
|
|
|
"<leader>k" = "goto_prev";
|
2023-07-17 15:37:00 +02:00
|
|
|
"<leader>j" = {
|
|
|
|
action = "goto_next";
|
|
|
|
desc = "Go to next diagnostic";
|
|
|
|
};
|
2023-03-22 07:42:02 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
lspBuf = {
|
|
|
|
"gd" = "definition";
|
|
|
|
"gD" = "references";
|
|
|
|
"gt" = "type_definition";
|
|
|
|
"gi" = "implementation";
|
2023-07-17 15:37:00 +02:00
|
|
|
"K" = {
|
|
|
|
action = "hover";
|
|
|
|
desc = "Hover";
|
|
|
|
};
|
2023-03-22 07:42:02 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
servers = {
|
|
|
|
bashls.enable = true;
|
2023-04-19 14:30:02 +02:00
|
|
|
clangd = {
|
|
|
|
enable = true;
|
|
|
|
onAttach.function = ''
|
|
|
|
print('The clangd language server has been attached !')
|
|
|
|
'';
|
|
|
|
};
|
2023-05-22 11:28:18 +02:00
|
|
|
# Do not install the language server using nixvim
|
|
|
|
gopls = {
|
|
|
|
enable = true;
|
2023-05-22 13:34:08 +02:00
|
|
|
installLanguageServer = false;
|
2023-05-22 11:28:18 +02:00
|
|
|
};
|
2023-03-22 07:42:02 +01:00
|
|
|
nil_ls.enable = true;
|
2023-11-23 13:53:22 +01:00
|
|
|
rust-analyzer = {
|
|
|
|
enable = true;
|
|
|
|
installCargo = true;
|
|
|
|
installRustc = true;
|
|
|
|
};
|
2023-04-28 12:17:05 +02:00
|
|
|
ruff-lsp = {
|
|
|
|
enable = true;
|
|
|
|
extraOptions = {
|
|
|
|
init_options.settings.args = ["--config=/path/to/config.toml"];
|
|
|
|
};
|
|
|
|
};
|
2023-03-22 07:42:02 +01:00
|
|
|
pylsp = {
|
|
|
|
enable = true;
|
|
|
|
filetypes = ["python"];
|
|
|
|
autostart = false;
|
|
|
|
};
|
2023-05-25 19:41:18 +02:00
|
|
|
# rootDir
|
|
|
|
typst-lsp = {
|
|
|
|
enable = true;
|
|
|
|
rootDir = ''
|
|
|
|
require 'lspconfig.util'.root_pattern('.git', 'main.typ')
|
|
|
|
'';
|
|
|
|
};
|
2023-03-22 07:42:02 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
all-servers = {
|
|
|
|
plugins.lsp = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
servers = {
|
2023-12-05 14:44:36 +07:00
|
|
|
ansiblels.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
astro.enable = true;
|
|
|
|
bashls.enable = true;
|
2023-11-14 08:54:47 -05:00
|
|
|
biome.enable = true;
|
2023-06-15 11:20:36 +02:00
|
|
|
ccls.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
clangd.enable = true;
|
2023-05-21 09:14:03 +02:00
|
|
|
clojure-lsp.enable = true;
|
2023-06-27 08:12:02 +02:00
|
|
|
cmake.enable = true;
|
2023-07-04 09:49:50 +02:00
|
|
|
# pkgs.csharp-ls only supports linux platforms
|
|
|
|
csharp-ls.enable = pkgs.stdenv.isLinux;
|
2023-03-22 07:42:02 +01:00
|
|
|
cssls.enable = true;
|
|
|
|
dartls.enable = true;
|
|
|
|
denols.enable = true;
|
2023-09-04 17:27:41 -04:00
|
|
|
digestif.enable = true;
|
2023-12-05 15:19:31 +07:00
|
|
|
dockerls.enable = true;
|
2023-08-19 22:17:07 +02:00
|
|
|
efm.enable = true;
|
2023-07-09 11:17:24 +00:00
|
|
|
elmls.enable = true;
|
2023-11-24 11:51:08 +01:00
|
|
|
emmet_ls.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
eslint.enable = true;
|
|
|
|
elixirls.enable = true;
|
2023-10-21 10:13:47 +02:00
|
|
|
# pkgs.fsautocomplete only supports linux platforms
|
2023-12-02 17:23:00 +01:00
|
|
|
# fsautocomplete.enable = pkgs.stdenv.isLinux;
|
|
|
|
# As of 2023/12/02, fsautocomplete is broken
|
|
|
|
# See https://github.com/NixOS/nixpkgs/issues/271704
|
|
|
|
fsautocomplete.enable = false;
|
2023-12-07 09:40:03 +01:00
|
|
|
futhark-lsp.enable = true;
|
2023-12-13 07:44:05 +01:00
|
|
|
gleam.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
gopls.enable = true;
|
|
|
|
hls.enable = true;
|
|
|
|
html.enable = true;
|
2023-06-06 18:43:15 -06:00
|
|
|
java-language-server.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
jsonls.enable = true;
|
2023-05-30 08:55:50 +02:00
|
|
|
julials.enable = true;
|
2023-06-06 19:10:21 -06:00
|
|
|
kotlin-language-server.enable = true;
|
2023-11-11 23:40:32 +01:00
|
|
|
leanls.enable = true;
|
2023-05-30 10:52:03 +02:00
|
|
|
ltex.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
lua-ls.enable = true;
|
2023-04-11 11:51:57 -04:00
|
|
|
metals.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
nil_ls.enable = true;
|
2023-06-27 15:27:54 +02:00
|
|
|
nixd.enable = true;
|
2023-07-20 08:09:49 +02:00
|
|
|
omnisharp.enable = true;
|
2023-12-08 15:08:59 +01:00
|
|
|
perlpls.enable = true;
|
2023-11-20 12:12:22 +00:00
|
|
|
pest_ls.enable = true;
|
2023-11-17 12:34:39 +02:00
|
|
|
prismals.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
pylsp.enable = true;
|
2023-12-10 13:58:09 +01:00
|
|
|
pylyzer.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
pyright.enable = true;
|
|
|
|
rnix-lsp.enable = true;
|
2023-04-27 12:44:39 +02:00
|
|
|
ruff-lsp.enable = true;
|
2023-11-23 13:53:22 +01:00
|
|
|
rust-analyzer = {
|
|
|
|
enable = true;
|
|
|
|
installCargo = true;
|
|
|
|
installRustc = true;
|
|
|
|
};
|
2023-12-01 20:21:01 -05:00
|
|
|
solargraph.enable = true;
|
2023-04-28 09:28:24 +02:00
|
|
|
sourcekit.enable = true;
|
2023-08-07 08:02:19 +02:00
|
|
|
svelte.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
tailwindcss.enable = true;
|
2023-08-24 11:03:37 +02:00
|
|
|
taplo.enable = true;
|
2023-04-08 14:09:30 -07:00
|
|
|
terraformls.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
texlab.enable = true;
|
|
|
|
tsserver.enable = true;
|
2023-04-06 10:34:11 +02:00
|
|
|
typst-lsp.enable = true;
|
2023-11-27 13:20:12 +01:00
|
|
|
vls.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
vuels.enable = true;
|
2023-04-11 11:49:32 -04:00
|
|
|
yamlls.enable = true;
|
2023-05-15 23:42:03 +02:00
|
|
|
zls.enable = true;
|
2023-03-22 07:42:02 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|