diff options
author | Timo Kaufmann <timokau@zoho.com> | 2018-12-31 10:22:15 +0100 |
---|---|---|
committer | Timo Kaufmann <timokau@zoho.com> | 2018-12-31 10:31:14 +0100 |
commit | 093cfde1e07ee534456b51c120220d0c48b46e16 (patch) | |
tree | f47819db0b400ea784e0643eeaa79a4bb4de5d4b /pkgs/misc/vim-plugins/vim-utils.nix | |
parent | f8ff164806afeee6b5517b8ef8df48999b0e0420 (diff) | |
download | nixpkgs-093cfde1e07ee534456b51c120220d0c48b46e16.tar nixpkgs-093cfde1e07ee534456b51c120220d0c48b46e16.tar.gz nixpkgs-093cfde1e07ee534456b51c120220d0c48b46e16.tar.bz2 nixpkgs-093cfde1e07ee534456b51c120220d0c48b46e16.tar.lz nixpkgs-093cfde1e07ee534456b51c120220d0c48b46e16.tar.xz nixpkgs-093cfde1e07ee534456b51c120220d0c48b46e16.tar.zst nixpkgs-093cfde1e07ee534456b51c120220d0c48b46e16.zip |
vimUtils: fix requiredPlugins
I broke this in #52767 and didn't notice because I only tested with vim and `requiredPlugins` is only used by neovim. This would break setups that use string-plugins (like pathogen) with neovim.
Diffstat (limited to 'pkgs/misc/vim-plugins/vim-utils.nix')
-rw-r--r-- | pkgs/misc/vim-plugins/vim-utils.nix | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix index 1d305cd5349..61e89521c8c 100644 --- a/pkgs/misc/vim-plugins/vim-utils.nix +++ b/pkgs/misc/vim-plugins/vim-utils.nix @@ -1,4 +1,4 @@ -{stdenv, vim, vimPlugins, vim_configurable, buildEnv, writeText, writeScriptBin +{stdenv, vim, vimPlugins, vim_configurable, neovim, buildEnv, writeText, writeScriptBin , nix-prefetch-hg, nix-prefetch-git }: /* @@ -407,6 +407,7 @@ rec { inherit (import ./build-vim-plugin.nix { inherit stdenv rtpPath vim; }) buildVimPlugin buildVimPluginFrom2Nix; + # used to figure out which python dependencies etc. neovim needs requiredPlugins = { packages ? {}, givenKnownPlugins ? null, @@ -420,11 +421,11 @@ rec { if vam != null && vam ? knownPlugins then vam.knownPlugins else if pathogen != null && pathogen ? knownPlugins then pathogen.knownPlugins else vimPlugins; - pathogenNames = findDependenciesRecursively knownPlugins pathogen.pluginNames; - vamNames = findDependenciesRecursively knownPlugins (lib.concatMap vamDictToNames vam.pluginDictionaries); - names = (lib.optionals (pathogen != null) pathogenNames) ++ - (lib.optionals (vam != null) vamNames); - nonNativePlugins = map (name: knownPlugins.${name}) names ++ (lib.optionals (plug != null) plug.plugins); + pathogenPlugins = findDependenciesRecursively knownPlugins pathogen.pluginNames; + vamPlugins = findDependenciesRecursively knownPlugins (lib.concatMap vamDictToNames vam.pluginDictionaries); + nonNativePlugins = (lib.optionals (pathogen != null) pathogenPlugins) + ++ (lib.optionals (vam != null) vamPlugins) + ++ (lib.optionals (plug != null) plug.plugins); nativePluginsConfigs = lib.attrsets.attrValues packages; nativePlugins = lib.concatMap ({start?[], opt?[], knownPlugins?vimPlugins}: start++opt) nativePluginsConfigs; in @@ -451,4 +452,9 @@ rec { name = "vim-with-vim-addon-nix"; vimrcConfig.packages.myVimPackage.start = with vimPlugins; [ vim-nix ]; }; + + # only neovim makes use of `requiredPlugins`, test this here + test_nvim_with_vim_nix_using_pathogen = neovim.override { + configure.pathogen.pluginNames = [ "vim-nix" ]; + }; } |