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

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

219 lines
6.4 KiB
Nix
Raw Normal View History

{ pkgs, ... }:
{
2023-03-22 07:42:02 +01:00
empty = {
plugins.lsp.enable = true;
};
example = {
plugins.lsp = {
enable = true;
inlayHints = true;
2023-03-22 07:42:02 +01:00
keymaps = {
silent = true;
diagnostic = {
"<leader>k" = "goto_prev";
"<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";
"K" = {
action = "hover";
desc = "Hover";
};
2023-03-22 07:42:02 +01:00
};
2024-03-25 21:39:21 +00:00
extra = [
{
key = "<leader>li";
action = "<CMD>LspInfo<Enter>";
}
{
key = "<leader>lx";
action = "<CMD>LspStop<Enter>";
}
{
key = "<leader>ls";
action = "<CMD>LspStart<Enter>";
}
{
key = "<leader>lr";
action = "<CMD>LspRestart<Enter>";
}
{
key = "<leader>ll";
action = "<CMD>LspLog<Enter>";
}
];
2023-03-22 07:42:02 +01:00
};
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;
package = null;
};
nil-ls.enable = true;
rust-analyzer = {
enable = true;
installCargo = true;
installRustc = 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 = {
2023-12-19 11:21:35 +01:00
enable = true;
rootDir = ''
require 'lspconfig.util'.root_pattern('.git', 'main.typ')
'';
};
2023-03-22 07:42:02 +01:00
};
};
};
all-servers =
pkgs.lib.optionalAttrs
# This fails on darwin
# See https://github.com/NixOS/nix/issues/4119
(!pkgs.stdenv.isDarwin)
{
plugins.lsp = {
enable = true;
2023-03-22 07:42:02 +01:00
servers = {
ansiblels.enable = true;
ast-grep.enable = true;
astro.enable = true;
bashls.enable = true;
beancount.enable = true;
biome.enable = true;
ccls.enable = true;
clangd.enable = true;
clojure-lsp.enable = true;
cmake.enable = true;
csharp-ls.enable = true;
cssls.enable = true;
dagger.enable = true;
dartls.enable = true;
denols.enable = true;
dhall-lsp-server.enable = true;
digestif.enable = true;
docker-compose-language-service.enable = true;
dockerls.enable = true;
efm.enable = true;
elmls.enable = true;
emmet-ls.enable = true;
eslint.enable = true;
elixirls.enable = true;
fortls.enable = true;
# pkgs.fsautocomplete only supports linux platforms
fsautocomplete.enable = pkgs.stdenv.isLinux;
futhark-lsp.enable = true;
gleam.enable = true;
gopls.enable = true;
golangci-lint-ls.enable = true;
graphql.enable = true;
2024-02-02 11:34:19 +01:00
helm-ls.enable = true;
hls.enable = true;
html.enable = true;
2024-01-12 23:16:28 +01:00
htmx.enable = true;
java-language-server.enable = true;
2024-04-04 09:03:28 +02:00
jsonls.enable = true;
2024-06-14 09:17:19 +01:00
jsonnet-ls.enable = true;
julials.enable = true;
kotlin-language-server.enable = true;
leanls.enable = true;
lemminx.enable = true;
lexical.enable = true;
ltex.enable = true;
2024-01-12 09:40:28 +01:00
lua-ls.enable = true;
marksman.enable = true;
metals.enable = true;
nginx-language-server.enable = true;
nickel-ls.enable = true;
nil-ls.enable = true;
nimls.enable = true;
2024-01-25 16:00:55 +01:00
nixd.enable = true;
nushell.enable = true;
ocamllsp.enable = true;
2024-01-12 09:40:28 +01:00
ols.enable =
# ols is not supported on aarch64-linux
(pkgs.stdenv.hostPlatform.system != "aarch64-linux")
# As of 2024-01-04, ols is broken on darwin
# TODO: re-enable this test when fixed
2024-02-15 10:55:32 +01:00
&& !pkgs.stdenv.isDarwin;
# As of 2024-03-05, omnisharp-roslyn is broken on darwin
# TODO: re-enable this test when fixed
omnisharp.enable = !pkgs.stdenv.isDarwin;
openscad-lsp.enable = true;
perlpls.enable = true;
pest-ls.enable = true;
prismals.enable = true;
2024-04-29 08:33:43 +02:00
prolog-ls.enable = true;
purescriptls.enable = true;
pylsp.enable = true;
pylyzer.enable = true;
pyright.enable = true;
2024-06-04 22:14:30 +10:00
r-language-server.enable = true;
2024-05-31 21:51:48 +02:00
ruby-lsp.enable = true;
2024-04-19 09:50:49 +02:00
ruff.enable = true;
ruff-lsp.enable = true;
rust-analyzer = {
enable = true;
installCargo = true;
installRustc = true;
2024-05-05 19:39:35 +02:00
};
slint-lsp.enable = true;
solargraph.enable = true;
# As of 2024-03-11, sourcekit-lsp is broken on aarch64
# TODO: re-enable this test when fixed
2024-02-15 10:55:32 +01:00
sourcekit.enable = !pkgs.stdenv.isAarch64;
2024-03-23 13:28:17 +01:00
sqls.enable = true;
svelte.enable = true;
2024-02-15 10:55:32 +01:00
tailwindcss.enable = true;
taplo.enable = true;
templ.enable = true;
terraformls.enable = true;
texlab.enable = true;
2024-06-14 09:36:04 +01:00
tflint.enable = true;
tinymist.enable = true;
tsserver.enable = true;
typos-lsp.enable = true;
typst-lsp.enable = true;
# As of 2024-04-03, pkgs.vala-language-server is broken on linux
# TODO: re-enable this test when fixed
vala-ls.enable = !pkgs.stdenv.isLinux;
2024-01-12 09:40:28 +01:00
vhdl-ls.enable = true;
2024-02-10 20:47:07 +01:00
vls.enable = true;
vuels.enable = true;
yamlls.enable = true;
zls.enable = true;
};
};
2023-03-22 07:42:02 +01:00
};
}