diff options
author | Evan Danaher <github@edanaher.net> | 2017-03-19 18:44:02 -0400 |
---|---|---|
committer | Evan Danaher <github@edanaher.net> | 2017-03-19 18:44:02 -0400 |
commit | c34aa75d30ce5d74d773210f97e0d43daf5c3a6b (patch) | |
tree | 7f237a4c5f01403f6717696794e59880dfbd3368 /pkgs/misc/vim-plugins | |
parent | 16fff5ebce23c0f275abbabfb21ff4270100f674 (diff) | |
download | nixpkgs-c34aa75d30ce5d74d773210f97e0d43daf5c3a6b.tar nixpkgs-c34aa75d30ce5d74d773210f97e0d43daf5c3a6b.tar.gz nixpkgs-c34aa75d30ce5d74d773210f97e0d43daf5c3a6b.tar.bz2 nixpkgs-c34aa75d30ce5d74d773210f97e0d43daf5c3a6b.tar.lz nixpkgs-c34aa75d30ce5d74d773210f97e0d43daf5c3a6b.tar.xz nixpkgs-c34aa75d30ce5d74d773210f97e0d43daf5c3a6b.tar.zst nixpkgs-c34aa75d30ce5d74d773210f97e0d43daf5c3a6b.zip |
vim-utils: Handle overriding knownPlugins betters.
Diffstat (limited to 'pkgs/misc/vim-plugins')
-rw-r--r-- | pkgs/misc/vim-plugins/vim-utils.nix | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix index 22098b68a55..87b2f9d3e18 100644 --- a/pkgs/misc/vim-plugins/vim-utils.nix +++ b/pkgs/misc/vim-plugins/vim-utils.nix @@ -412,11 +412,16 @@ rec { } // a); requiredPlugins = { - knownPlugins ? vimPlugins, + givenKnownPlugins ? null, vam ? null, pathogen ? null, ... }: let + # This is probably overcomplicated, but I don't understand this well enough to know what's necessary. + knownPlugins = if givenKnownPlugins != null then givenKnownPlugins else + if vam != null && vam ? knownPlugins then vam.knownPlugins else + if pathogen != null && pathogen ? knownPlugins then pathogen.knownPlugins else + vimPlugins; pathogenNames = map (name: knownPlugins.${name}) (findDependenciesRecursively { inherit knownPlugins; names = pathogen.pluginNames; }); vamNames = findDependenciesRecursively { inherit knownPlugins; names = lib.concatMap toNames vam.pluginDictionaries; }; names = (lib.optionals (pathogen != null) pathogenNames) ++ |