Merge pull request #24353 from edanaher/fix-vim-knownplugins

vim-utils: Handle overriding knownPlugins betters.
This commit is contained in:
Jude Taylor 2017-03-28 14:08:35 -07:00 committed by GitHub
commit 7ebc75a9a6

View File

@ -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) ++