nix-community.nixvim/tests/test-sources/plugins/lsp/nvim-lsp.nix

114 lines
2.8 KiB
Nix
Raw Normal View History

2023-06-13 09:39:54 +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";
"<leader>j" = "goto_next";
};
lspBuf = {
"gd" = "definition";
"gD" = "references";
"gt" = "type_definition";
"gi" = "implementation";
"K" = "hover";
};
};
servers = {
bashls.enable = true;
clangd = {
enable = true;
onAttach.function = ''
print('The clangd language server has been attached !')
'';
};
# Do not install the language server using nixvim
gopls = {
enable = true;
installLanguageServer = false;
};
2023-03-22 07:42:02 +01:00
nil_ls.enable = true;
rust-analyzer.enable = true;
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;
};
# 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 = {
astro.enable = true;
bashls.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;
# 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;
elmls.enable = true;
2023-03-22 07:42:02 +01:00
eslint.enable = true;
elixirls.enable = true;
2023-05-08 23:11:30 +02:00
futhark-lsp.enable = true;
2023-03-22 07:42:02 +01:00
gopls.enable = true;
hls.enable = true;
html.enable = true;
java-language-server.enable = true;
2023-03-22 07:42:02 +01:00
jsonls.enable = true;
julials.enable = true;
kotlin-language-server.enable = true;
ltex.enable = true;
2023-03-22 07:42:02 +01:00
lua-ls.enable = true;
metals.enable = true;
2023-03-22 07:42:02 +01:00
nil_ls.enable = true;
nixd.enable = true;
omnisharp.enable = true;
2023-03-22 07:42:02 +01:00
pylsp.enable = true;
pyright.enable = true;
rnix-lsp.enable = true;
ruff-lsp.enable = true;
2023-03-22 07:42:02 +01:00
rust-analyzer.enable = true;
sourcekit.enable = true;
2023-03-22 07:42:02 +01:00
tailwindcss.enable = true;
terraformls.enable = true;
2023-03-22 07:42:02 +01:00
texlab.enable = true;
tsserver.enable = true;
typst-lsp.enable = true;
2023-03-22 07:42:02 +01:00
vuels.enable = true;
yamlls.enable = true;
2023-05-15 23:42:03 +02:00
zls.enable = true;
2023-03-22 07:42:02 +01:00
};
};
};
}