mirror of
https://github.com/nix-community/nixvim.git
synced 2025-12-12 03:51:10 +01:00
plugins/conform: refactor the autoInstall option implementation
Signed-off-by: saygo-png <saygo.mail@proton.me>
This commit is contained in:
parent
79bfadb32a
commit
96d3538c32
3 changed files with 91 additions and 86 deletions
|
|
@ -245,21 +245,21 @@ lib.nixvim.plugins.mkNeovimPlugin {
|
|||
let
|
||||
inherit (cfg.autoInstall) enable enableWarnings;
|
||||
inherit (import ./auto-install.nix { inherit pkgs lib; })
|
||||
getPackageByName
|
||||
getPackageOrStateByName
|
||||
collectFormatters
|
||||
cleanMaybePackageList
|
||||
mkWarnsFromMaybePackageList
|
||||
mkWarnsFromStates
|
||||
;
|
||||
getPackageByNameWith = getPackageByName {
|
||||
getPackageOrStateByNameWith = getPackageOrStateByName {
|
||||
configuredFormatters = cfg.settings.formatters;
|
||||
inherit (cfg.autoInstall) overrides;
|
||||
};
|
||||
names = collectFormatters (attrValues cfg.settings.formatters_by_ft or { });
|
||||
packageList = map getPackageByNameWith names;
|
||||
warns = (mkWarnsFromMaybePackageList opts) packageList;
|
||||
formatterNames = collectFormatters (attrValues (cfg.settings.formatters_by_ft or { }));
|
||||
packagesAndStates = lib.foldAttrs (item: acc: [ item ] ++ acc) [ ] (
|
||||
map getPackageOrStateByNameWith formatterNames
|
||||
);
|
||||
in
|
||||
{
|
||||
warnings = lib.mkIf (enable && warns != [ ] && enableWarnings) warns;
|
||||
extraPackages = lib.mkIf enable (cleanMaybePackageList packageList);
|
||||
warnings = lib.mkIf (enable && enableWarnings) (mkWarnsFromStates opts packagesAndStates.wrong);
|
||||
extraPackages = lib.mkIf enable packagesAndStates.right;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue