mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
tests: Split off in a single derivation the lsp server test
This test is quite resource intensive, so let's split it to avoid issues
This commit is contained in:
parent
182ffa4583
commit
cab6b0c9fe
3 changed files with 154 additions and 142 deletions
|
@ -42,24 +42,37 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
# We attempt to build & execute all configurations
|
# We attempt to build & execute all configurations
|
||||||
lib.pipe (testFiles ++ [ exampleFiles ]) [
|
(lib.pipe
|
||||||
(builtins.map (
|
(
|
||||||
{
|
testFiles
|
||||||
name,
|
++ [
|
||||||
file,
|
exampleFiles
|
||||||
cases,
|
]
|
||||||
}:
|
)
|
||||||
{
|
[
|
||||||
inherit name;
|
(builtins.map (
|
||||||
path = pkgs.linkFarm name (builtins.mapAttrs (moduleToTest file) cases);
|
{
|
||||||
}
|
name,
|
||||||
))
|
file,
|
||||||
(helpers.groupListBySize 10)
|
cases,
|
||||||
(lib.imap1 (
|
}:
|
||||||
i: group: rec {
|
{
|
||||||
name = "test-${toString i}";
|
inherit name;
|
||||||
value = pkgs.linkFarm name group;
|
path = pkgs.linkFarm name (builtins.mapAttrs (moduleToTest file) cases);
|
||||||
}
|
}
|
||||||
))
|
))
|
||||||
builtins.listToAttrs
|
(helpers.groupListBySize 10)
|
||||||
]
|
(lib.imap1 (
|
||||||
|
i: group: rec {
|
||||||
|
name = "test-${toString i}";
|
||||||
|
value = pkgs.linkFarm name group;
|
||||||
|
}
|
||||||
|
))
|
||||||
|
builtins.listToAttrs
|
||||||
|
]
|
||||||
|
)
|
||||||
|
// {
|
||||||
|
all-lsp-servers = moduleToTest ./lsp-servers.nix "all-lsp-servers" (
|
||||||
|
import ./lsp-servers.nix { inherit pkgs; }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
119
tests/lsp-servers.nix
Normal file
119
tests/lsp-servers.nix
Normal file
|
@ -0,0 +1,119 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
pkgs.lib.optionalAttrs
|
||||||
|
# This fails on darwin
|
||||||
|
# See https://github.com/NixOS/nix/issues/4119
|
||||||
|
(!pkgs.stdenv.isDarwin)
|
||||||
|
{
|
||||||
|
plugins.lsp = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
servers = {
|
||||||
|
ansiblels.enable = true;
|
||||||
|
ast-grep.enable = true;
|
||||||
|
astro.enable = true;
|
||||||
|
basedpyright.enable = true;
|
||||||
|
bashls.enable = true;
|
||||||
|
beancount.enable = true;
|
||||||
|
biome.enable = true;
|
||||||
|
bufls.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;
|
||||||
|
harper-ls.enable = true;
|
||||||
|
helm-ls.enable = true;
|
||||||
|
hls.enable = true;
|
||||||
|
html.enable = true;
|
||||||
|
htmx.enable = true;
|
||||||
|
idris2-lsp.enable = true;
|
||||||
|
java-language-server.enable = true;
|
||||||
|
jdt-language-server.enable = true;
|
||||||
|
jsonls.enable = true;
|
||||||
|
jsonnet-ls.enable = true;
|
||||||
|
julials.enable = true;
|
||||||
|
kotlin-language-server.enable = true;
|
||||||
|
leanls.enable = true;
|
||||||
|
lemminx.enable = true;
|
||||||
|
lexical.enable = true;
|
||||||
|
ltex.enable = true;
|
||||||
|
lua-ls.enable = true;
|
||||||
|
marksman.enable = true;
|
||||||
|
metals.enable = true;
|
||||||
|
nextls.enable = true;
|
||||||
|
nginx-language-server.enable = true;
|
||||||
|
nickel-ls.enable = true;
|
||||||
|
nil-ls.enable = true;
|
||||||
|
nimls.enable = true;
|
||||||
|
nixd.enable = true;
|
||||||
|
nushell.enable = true;
|
||||||
|
ocamllsp.enable = true;
|
||||||
|
ols.enable =
|
||||||
|
# ols is not supported on aarch64-linux
|
||||||
|
pkgs.stdenv.hostPlatform.system != "aarch64-linux";
|
||||||
|
omnisharp.enable = true;
|
||||||
|
openscad-lsp.enable = true;
|
||||||
|
perlpls.enable = true;
|
||||||
|
pest-ls.enable = true;
|
||||||
|
prismals.enable = true;
|
||||||
|
prolog-ls.enable = true;
|
||||||
|
purescriptls.enable = true;
|
||||||
|
pylsp.enable = true;
|
||||||
|
pylyzer.enable = true;
|
||||||
|
pyright.enable = true;
|
||||||
|
r-language-server.enable = true;
|
||||||
|
ruby-lsp.enable = true;
|
||||||
|
ruff.enable = true;
|
||||||
|
ruff-lsp.enable = true;
|
||||||
|
rust-analyzer = {
|
||||||
|
enable = true;
|
||||||
|
installCargo = true;
|
||||||
|
installRustc = true;
|
||||||
|
};
|
||||||
|
slint-lsp.enable = true;
|
||||||
|
solargraph.enable = true;
|
||||||
|
# As of 2024-09-13, sourcekit-lsp is broken due to swift dependency
|
||||||
|
# TODO: re-enable this test when fixed
|
||||||
|
# sourcekit.enable = !pkgs.stdenv.isAarch64;
|
||||||
|
sqls.enable = true;
|
||||||
|
svelte.enable = true;
|
||||||
|
tailwindcss.enable = true;
|
||||||
|
taplo.enable = true;
|
||||||
|
templ.enable = true;
|
||||||
|
terraformls.enable = true;
|
||||||
|
texlab.enable = true;
|
||||||
|
tflint.enable = true;
|
||||||
|
tinymist.enable = true;
|
||||||
|
ts-ls.enable = true;
|
||||||
|
typos-lsp.enable = true;
|
||||||
|
typst-lsp.enable = true;
|
||||||
|
vala-ls.enable = true;
|
||||||
|
vhdl-ls.enable = true;
|
||||||
|
vls.enable = true;
|
||||||
|
vuels.enable = true;
|
||||||
|
yamlls.enable = true;
|
||||||
|
zls.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, pkgs, ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
empty = {
|
empty = {
|
||||||
plugins.lsp.enable = true;
|
plugins.lsp.enable = true;
|
||||||
|
@ -95,126 +95,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
all-servers =
|
|
||||||
pkgs.lib.optionalAttrs
|
|
||||||
# This fails on darwin
|
|
||||||
# See https://github.com/NixOS/nix/issues/4119
|
|
||||||
(!pkgs.stdenv.isDarwin)
|
|
||||||
{
|
|
||||||
plugins.lsp = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
servers = {
|
|
||||||
ansiblels.enable = true;
|
|
||||||
ast-grep.enable = true;
|
|
||||||
astro.enable = true;
|
|
||||||
basedpyright.enable = true;
|
|
||||||
bashls.enable = true;
|
|
||||||
beancount.enable = true;
|
|
||||||
biome.enable = true;
|
|
||||||
bufls.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;
|
|
||||||
harper-ls.enable = true;
|
|
||||||
helm-ls.enable = true;
|
|
||||||
hls.enable = true;
|
|
||||||
html.enable = true;
|
|
||||||
htmx.enable = true;
|
|
||||||
idris2-lsp.enable = true;
|
|
||||||
java-language-server.enable = true;
|
|
||||||
jdt-language-server.enable = true;
|
|
||||||
jsonls.enable = true;
|
|
||||||
jsonnet-ls.enable = true;
|
|
||||||
julials.enable = true;
|
|
||||||
kotlin-language-server.enable = true;
|
|
||||||
leanls.enable = true;
|
|
||||||
lemminx.enable = true;
|
|
||||||
lexical.enable = true;
|
|
||||||
ltex.enable = true;
|
|
||||||
lua-ls.enable = true;
|
|
||||||
marksman.enable = true;
|
|
||||||
metals.enable = true;
|
|
||||||
nextls.enable = true;
|
|
||||||
nginx-language-server.enable = true;
|
|
||||||
nickel-ls.enable = true;
|
|
||||||
nil-ls.enable = true;
|
|
||||||
nimls.enable = true;
|
|
||||||
nixd.enable = true;
|
|
||||||
nushell.enable = true;
|
|
||||||
ocamllsp.enable = true;
|
|
||||||
ols.enable =
|
|
||||||
# ols is not supported on aarch64-linux
|
|
||||||
pkgs.stdenv.hostPlatform.system != "aarch64-linux";
|
|
||||||
omnisharp.enable = true;
|
|
||||||
openscad-lsp.enable = true;
|
|
||||||
perlpls.enable = true;
|
|
||||||
pest-ls.enable = true;
|
|
||||||
prismals.enable = true;
|
|
||||||
prolog-ls.enable = true;
|
|
||||||
purescriptls.enable = true;
|
|
||||||
pylsp.enable = true;
|
|
||||||
pylyzer.enable = true;
|
|
||||||
pyright.enable = true;
|
|
||||||
r-language-server.enable = true;
|
|
||||||
ruby-lsp.enable = true;
|
|
||||||
ruff.enable = true;
|
|
||||||
ruff-lsp.enable = true;
|
|
||||||
rust-analyzer = {
|
|
||||||
enable = true;
|
|
||||||
installCargo = true;
|
|
||||||
installRustc = true;
|
|
||||||
};
|
|
||||||
slint-lsp.enable = true;
|
|
||||||
solargraph.enable = true;
|
|
||||||
# As of 2024-09-13, sourcekit-lsp is broken due to swift dependency
|
|
||||||
# TODO: re-enable this test when fixed
|
|
||||||
# sourcekit.enable = !pkgs.stdenv.isAarch64;
|
|
||||||
sqls.enable = true;
|
|
||||||
svelte.enable = true;
|
|
||||||
tailwindcss.enable = true;
|
|
||||||
taplo.enable = true;
|
|
||||||
templ.enable = true;
|
|
||||||
terraformls.enable = true;
|
|
||||||
texlab.enable = true;
|
|
||||||
tflint.enable = true;
|
|
||||||
tinymist.enable = true;
|
|
||||||
ts-ls.enable = true;
|
|
||||||
typos-lsp.enable = true;
|
|
||||||
typst-lsp.enable = true;
|
|
||||||
vala-ls.enable = true;
|
|
||||||
vhdl-ls.enable = true;
|
|
||||||
vls.enable = true;
|
|
||||||
vuels.enable = true;
|
|
||||||
yamlls.enable = true;
|
|
||||||
zls.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
volar-tsls-integration =
|
volar-tsls-integration =
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue