modules/lsp: port packageFallback option from plugins.lsp
Added to `plugins.lsp` in 6a054de04d
This commit is contained in:
parent
4cec67651a
commit
167ea865e5
3 changed files with 68 additions and 1 deletions
|
|
@ -28,4 +28,54 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
package-fallback =
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
test.buildNixvim = false;
|
||||
|
||||
lsp = {
|
||||
servers = {
|
||||
nil_ls.enable = true;
|
||||
rust_analyzer = {
|
||||
enable = true;
|
||||
packageFallback = true;
|
||||
};
|
||||
hls = {
|
||||
enable = true;
|
||||
packageFallback = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
assertions =
|
||||
let
|
||||
assertPrefix = name: pkg: [
|
||||
{
|
||||
assertion = lib.all (x: x == pkg) config.extraPackages;
|
||||
message = "Expected `${name}` to be in extraPackages";
|
||||
}
|
||||
{
|
||||
assertion = lib.any (x: x != pkg) config.extraPackagesAfter;
|
||||
message = "Expected `${name}` not to be in extraPackagesAfter";
|
||||
}
|
||||
];
|
||||
assertSuffix = name: pkg: [
|
||||
{
|
||||
assertion = lib.all (x: x != pkg) config.extraPackages;
|
||||
message = "Expected `${name}` not to be in extraPackages";
|
||||
}
|
||||
{
|
||||
assertion = lib.any (x: x == pkg) config.extraPackagesAfter;
|
||||
message = "Expected `${name}` to be in extraPackagesAfter";
|
||||
}
|
||||
];
|
||||
in
|
||||
with config.lsp.servers;
|
||||
(
|
||||
assertPrefix "nil" nil_ls.package
|
||||
++ assertSuffix "rust-analyzer" rust_analyzer.package
|
||||
++ assertSuffix "haskell-language-server" hls.package
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue