mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-20 16:15:43 +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
|
||||
# We attempt to build & execute all configurations
|
||||
lib.pipe (testFiles ++ [ exampleFiles ]) [
|
||||
(builtins.map (
|
||||
{
|
||||
name,
|
||||
file,
|
||||
cases,
|
||||
}:
|
||||
{
|
||||
inherit name;
|
||||
path = pkgs.linkFarm name (builtins.mapAttrs (moduleToTest file) cases);
|
||||
}
|
||||
))
|
||||
(helpers.groupListBySize 10)
|
||||
(lib.imap1 (
|
||||
i: group: rec {
|
||||
name = "test-${toString i}";
|
||||
value = pkgs.linkFarm name group;
|
||||
}
|
||||
))
|
||||
builtins.listToAttrs
|
||||
]
|
||||
(lib.pipe
|
||||
(
|
||||
testFiles
|
||||
++ [
|
||||
exampleFiles
|
||||
]
|
||||
)
|
||||
[
|
||||
(builtins.map (
|
||||
{
|
||||
name,
|
||||
file,
|
||||
cases,
|
||||
}:
|
||||
{
|
||||
inherit name;
|
||||
path = pkgs.linkFarm name (builtins.mapAttrs (moduleToTest file) cases);
|
||||
}
|
||||
))
|
||||
(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 = {
|
||||
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 =
|
||||
{ config, ... }:
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue