diff options
author | Flakebi <flakebi@t-online.de> | 2021-01-04 01:11:33 +0100 |
---|---|---|
committer | Flakebi <flakebi@t-online.de> | 2021-02-25 10:06:33 +0100 |
commit | 30f9fd98f95ccc44aed32f0033898f2f7cf63d82 (patch) | |
tree | d793ad390ee1bb7181a72631ed61e1bbca0d47e6 /pkgs/applications/editors/kakoune | |
parent | f8cc77fc577c79bceb35ac2f5f831519f730c67e (diff) | |
download | nixlib-30f9fd98f95ccc44aed32f0033898f2f7cf63d82.tar nixlib-30f9fd98f95ccc44aed32f0033898f2f7cf63d82.tar.gz nixlib-30f9fd98f95ccc44aed32f0033898f2f7cf63d82.tar.bz2 nixlib-30f9fd98f95ccc44aed32f0033898f2f7cf63d82.tar.lz nixlib-30f9fd98f95ccc44aed32f0033898f2f7cf63d82.tar.xz nixlib-30f9fd98f95ccc44aed32f0033898f2f7cf63d82.tar.zst nixlib-30f9fd98f95ccc44aed32f0033898f2f7cf63d82.zip |
kakounePlugins: add aliases for old names
Diffstat (limited to 'pkgs/applications/editors/kakoune')
-rw-r--r-- | pkgs/applications/editors/kakoune/plugins/aliases.nix | 46 | ||||
-rw-r--r-- | pkgs/applications/editors/kakoune/plugins/default.nix | 6 | ||||
-rw-r--r-- | pkgs/applications/editors/kakoune/plugins/deprecated.json | 1 |
3 files changed, 51 insertions, 2 deletions
diff --git a/pkgs/applications/editors/kakoune/plugins/aliases.nix b/pkgs/applications/editors/kakoune/plugins/aliases.nix new file mode 100644 index 000000000000..5ff2a03441de --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins/aliases.nix @@ -0,0 +1,46 @@ +# Deprecated aliases - for backward compatibility + +lib: overriden: + +with overriden; + +let + # Removing recurseForDerivation prevents derivations of aliased attribute + # set to appear while listing all the packages available. + removeRecurseForDerivations = alias: with lib; + if alias.recurseForDerivations or false then + removeAttrs alias ["recurseForDerivations"] + else alias; + + # Disabling distribution prevents top-level aliases for non-recursed package + # sets from building on Hydra. + removeDistribute = alias: with lib; + if isDerivation alias then + dontDistribute alias + else alias; + + # Make sure that we are not shadowing something from + # all-packages.nix. + checkInPkgs = n: alias: if builtins.hasAttr n overriden + then throw "Alias ${n} is still in kakounePlugins" + else alias; + + mapAliases = aliases: + lib.mapAttrs (n: alias: removeDistribute + (removeRecurseForDerivations + (checkInPkgs n alias))) + aliases; + + deprecations = lib.mapAttrs (old: info: + throw "${old} was renamed to ${info.new} on ${info.date}. Please update to ${info.new}." + ) (builtins.fromJSON (builtins.readFile ./deprecated.json)); + +in +mapAliases ({ + kak-auto-pairs = auto-pairs-kak; # backwards compat, added 2021-01-04 + kak-buffers = kakoune-buffers; # backwards compat, added 2021-01-04 + kak-fzf = fzf-kak; # backwards compat, added 2021-01-04 + kak-powerline = powerline-kak; # backwards compat, added 2021-01-04 + kak-prelude = prelude-kak; # backwards compat, added 2021-01-04 + kak-vertical-selection = kakoune-vertical-selection; # backwards compat, added 2021-01-04 +} // deprecations) diff --git a/pkgs/applications/editors/kakoune/plugins/default.nix b/pkgs/applications/editors/kakoune/plugins/default.nix index c8054aaf87b9..1fe16a4e60c1 100644 --- a/pkgs/applications/editors/kakoune/plugins/default.nix +++ b/pkgs/applications/editors/kakoune/plugins/default.nix @@ -1,4 +1,4 @@ -{ callPackage, kakouneUtils }: +{ callPackage, config, kakouneUtils, lib }: let @@ -18,6 +18,8 @@ let inherit buildKakounePluginFrom2Nix; }; + aliases = lib.optionalAttrs (config.allowAliases or true) (import ./aliases.nix lib plugins); + in -plugins +plugins // aliases diff --git a/pkgs/applications/editors/kakoune/plugins/deprecated.json b/pkgs/applications/editors/kakoune/plugins/deprecated.json new file mode 100644 index 000000000000..0967ef424bce --- /dev/null +++ b/pkgs/applications/editors/kakoune/plugins/deprecated.json @@ -0,0 +1 @@ +{} |