mirror of
https://github.com/nix-community/nixvim.git
synced 2025-07-13 02:34:34 +02:00
plugins/lsp: add packageFallback option
https://github.com/nix-community/nixvim/pull/3445#pullrequestreview-2908615597
This commit is contained in:
parent
95957f306b
commit
46e8ba6f9f
4 changed files with 77 additions and 6 deletions
|
@ -265,4 +265,58 @@
|
|||
}
|
||||
];
|
||||
};
|
||||
|
||||
package-fallback =
|
||||
{ config, ... }:
|
||||
{
|
||||
test.buildNixvim = false;
|
||||
|
||||
plugins.lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
nil_ls = {
|
||||
enable = true;
|
||||
|
||||
packageFallback = true;
|
||||
};
|
||||
rust_analyzer = {
|
||||
enable = true;
|
||||
|
||||
installCargo = true;
|
||||
installRustc = true;
|
||||
|
||||
packageFallback = true;
|
||||
};
|
||||
hls = {
|
||||
enable = true;
|
||||
|
||||
installGhc = true;
|
||||
packageFallback = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
assertions =
|
||||
let
|
||||
assertAfter = 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.plugins.lsp.servers;
|
||||
(
|
||||
assertAfter "nil" nil_ls.package
|
||||
++ assertAfter "rust-analyzer" rust_analyzer.package
|
||||
++ assertAfter "cargo" rust_analyzer.cargoPackage
|
||||
++ assertAfter "rustc" rust_analyzer.rustcPackage
|
||||
++ assertAfter "haskell-language-server" hls.package
|
||||
++ assertAfter "ghc" hls.ghcPackage
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue