diff options
author | Roman Volosatovs <rvolosatovs@riseup.net> | 2018-09-16 18:26:45 +0200 |
---|---|---|
committer | Roman Volosatovs <rvolosatovs@riseup.net> | 2018-09-20 08:52:32 +0200 |
commit | 516a83c0e825843b5984adcabf710ef240343f31 (patch) | |
tree | 52be5e136d7bc976f0eb535090fe6acbdd5d7483 /pkgs/misc/vim-plugins | |
parent | 3f47dfff3bd88735d502990b6ad196bd0ea354cd (diff) | |
download | nixlib-516a83c0e825843b5984adcabf710ef240343f31.tar nixlib-516a83c0e825843b5984adcabf710ef240343f31.tar.gz nixlib-516a83c0e825843b5984adcabf710ef240343f31.tar.bz2 nixlib-516a83c0e825843b5984adcabf710ef240343f31.tar.lz nixlib-516a83c0e825843b5984adcabf710ef240343f31.tar.xz nixlib-516a83c0e825843b5984adcabf710ef240343f31.tar.zst nixlib-516a83c0e825843b5984adcabf710ef240343f31.zip |
vimPlugins: Add vim-plug addon implementation
Diffstat (limited to 'pkgs/misc/vim-plugins')
-rw-r--r-- | pkgs/misc/vim-plugins/vim-utils.nix | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix index bae1645563f0..9255bbe12635 100644 --- a/pkgs/misc/vim-plugins/vim-utils.nix +++ b/pkgs/misc/vim-plugins/vim-utils.nix @@ -172,6 +172,7 @@ let packages ? null, vam ? null, pathogen ? null, + plug ? null, customRC ? "" }: @@ -194,6 +195,18 @@ let execute pathogen#infect('${pluginsEnv}/{}') ''); + /* vim-plug is an extremely popular vim plugin manager. + */ + plugImpl = lib.optionalString (plug != null) + '' + source ${vimPlugins.vim-plug.rtp}/plug.vim + call plug#begin('/dev/null') + + '' + (lib.concatMapStringsSep "\n" (pkg: "Plug '${pkg.rtp}'") plug.plugins) + '' + + call plug#end() + ''; + /* vim-addon-manager = VAM @@ -302,6 +315,7 @@ let ${vamImpl} ${pathogenImpl} + ${plugImpl} ${vundleImpl} ${neobundleImpl} ${nativeImpl} @@ -427,7 +441,8 @@ rec { packages ? {}, givenKnownPlugins ? null, vam ? null, - pathogen ? null, ... + pathogen ? null, + plug ? null, ... }: let # This is probably overcomplicated, but I don't understand this well enough to know what's necessary. @@ -439,7 +454,7 @@ rec { vamNames = findDependenciesRecursively { inherit knownPlugins; names = lib.concatMap toNames vam.pluginDictionaries; }; names = (lib.optionals (pathogen != null) pathogenNames) ++ (lib.optionals (vam != null) vamNames); - nonNativePlugins = map (name: knownPlugins.${name}) names; + nonNativePlugins = map (name: knownPlugins.${name}) names ++ (lib.optionals (plug != null) plug.plugins); nativePluginsConfigs = lib.attrsets.attrValues packages; nativePlugins = lib.concatMap ({start?[], opt?[]}: start++opt) nativePluginsConfigs; in @@ -457,6 +472,11 @@ rec { vimrcConfig.pathogen.pluginNames = [ "vim-addon-nix" ]; }; + test_vim_with_vim_addon_nix_using_plug = vim_configurable.customize { + name = "vim-with-vim-addon-nix-using-plug"; + vimrcConfig.plug.plugins = with vimPlugins; [ vim-addon-nix ]; + }; + test_vim_with_vim_addon_nix = vim_configurable.customize { name = "vim-with-vim-addon-nix"; vimrcConfig.packages.myVimPackage.start = with vimPlugins; [ vim-addon-nix ]; |