nix-community.nixvim/tests/test-sources/plugins/lsp/nvim-lsp.nix
2023-05-15 08:11:35 +02:00

89 lines
2.1 KiB
Nix

{
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 !')
'';
};
nil_ls.enable = true;
rust-analyzer.enable = true;
ruff-lsp = {
enable = true;
extraOptions = {
init_options.settings.args = ["--config=/path/to/config.toml"];
};
};
pylsp = {
enable = true;
filetypes = ["python"];
autostart = false;
};
};
};
};
all-servers = {
plugins.lsp = {
enable = true;
servers = {
astro.enable = true;
bashls.enable = true;
clangd.enable = true;
cssls.enable = true;
dartls.enable = true;
denols.enable = true;
eslint.enable = true;
elixirls.enable = true;
futhark-lsp.enable = true;
gopls.enable = true;
hls.enable = true;
html.enable = true;
jsonls.enable = true;
lua-ls.enable = true;
metals.enable = true;
nil_ls.enable = true;
pylsp.enable = true;
pyright.enable = true;
rnix-lsp.enable = true;
ruff-lsp.enable = true;
rust-analyzer.enable = true;
sourcekit.enable = true;
tailwindcss.enable = true;
terraformls.enable = true;
texlab.enable = true;
tsserver.enable = true;
typst-lsp.enable = true;
vuels.enable = true;
yamlls.enable = true;
# zls.enable = true; Broken as of 03/17/2023
};
};
};
}