vimPlugins: Add vim-plug addon implementation
This commit is contained in:
parent
3f47dfff3b
commit
516a83c0e8
@ -172,6 +172,7 @@ let
|
|||||||
packages ? null,
|
packages ? null,
|
||||||
vam ? null,
|
vam ? null,
|
||||||
pathogen ? null,
|
pathogen ? null,
|
||||||
|
plug ? null,
|
||||||
customRC ? ""
|
customRC ? ""
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -194,6 +195,18 @@ let
|
|||||||
execute pathogen#infect('${pluginsEnv}/{}')
|
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
|
vim-addon-manager = VAM
|
||||||
|
|
||||||
@ -302,6 +315,7 @@ let
|
|||||||
|
|
||||||
${vamImpl}
|
${vamImpl}
|
||||||
${pathogenImpl}
|
${pathogenImpl}
|
||||||
|
${plugImpl}
|
||||||
${vundleImpl}
|
${vundleImpl}
|
||||||
${neobundleImpl}
|
${neobundleImpl}
|
||||||
${nativeImpl}
|
${nativeImpl}
|
||||||
@ -427,7 +441,8 @@ rec {
|
|||||||
packages ? {},
|
packages ? {},
|
||||||
givenKnownPlugins ? null,
|
givenKnownPlugins ? null,
|
||||||
vam ? null,
|
vam ? null,
|
||||||
pathogen ? null, ...
|
pathogen ? null,
|
||||||
|
plug ? null, ...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
# This is probably overcomplicated, but I don't understand this well enough to know what's necessary.
|
# 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; };
|
vamNames = findDependenciesRecursively { inherit knownPlugins; names = lib.concatMap toNames vam.pluginDictionaries; };
|
||||||
names = (lib.optionals (pathogen != null) pathogenNames) ++
|
names = (lib.optionals (pathogen != null) pathogenNames) ++
|
||||||
(lib.optionals (vam != null) vamNames);
|
(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;
|
nativePluginsConfigs = lib.attrsets.attrValues packages;
|
||||||
nativePlugins = lib.concatMap ({start?[], opt?[]}: start++opt) nativePluginsConfigs;
|
nativePlugins = lib.concatMap ({start?[], opt?[]}: start++opt) nativePluginsConfigs;
|
||||||
in
|
in
|
||||||
@ -457,6 +472,11 @@ rec {
|
|||||||
vimrcConfig.pathogen.pluginNames = [ "vim-addon-nix" ];
|
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 {
|
test_vim_with_vim_addon_nix = vim_configurable.customize {
|
||||||
name = "vim-with-vim-addon-nix";
|
name = "vim-with-vim-addon-nix";
|
||||||
vimrcConfig.packages.myVimPackage.start = with vimPlugins; [ vim-addon-nix ];
|
vimrcConfig.packages.myVimPackage.start = with vimPlugins; [ vim-addon-nix ];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user