Monday, April 23, 2012

Plugin manager with dependencies and selective bundle load

Hi all.
I am testing different plugin managers for vim.
I have been playing with pathogen and tplugin (http://www.vim.org/scripts/script.php?script_id=2917)
I begun with pathogen, and seems  everybody is following the idea of bundles, which I think is good.
But soon I found some limitations with this tool. Seems there is no way to control the order of loading for the plugins, and there are not dependencies.
It also tens to create a massive runtime path when sometimes is not needed.
So I then found tplugin.
I love how fast vim loads using tplugin and how it changes the runtime path on demand.
But then I also found some limitations. Seems thare is no way to tell the tool not to load some plugins, also the dependency system looks a little but clunky because it is based on files rather than bundles.
In many situations using files is all right, but for me makes sense to have the option to use bundles rather than a file pattern to trigger dependencies.
In my case one of the reasons because I want to use dependencies and to control what to load is because I want to have all my plugins in a bundle folder, but most of the time I dont want to use the public interface, so I just made a kind of a wrapper bundle, they simlinks the autoload folder to the original plugin and I copy the scripts in plugin and change the public interface to adapt it to my needs.
Like fir instance, the key maps, entries in the menu, etc ... These are the kind of things I usually want to override.
So I will love to be able to have a kind of master bundle, which loads all the dependencies, other bundles, and for the bundles that needs a wrapper, I want to load the wrapper and not the original pluging.
For instance imagine I have the next bundles in my plugins folder:
base
ZoomWin
myZoomWin

base will load myZoomWin as a depency and myZoomWin will reuse all the private stuff from ZoomWin plugin (mostly the scripts in the autoload folder), but will change the keymaps and commands definitions done in ZoomWin/pluging/ZoomWinPlugin.vim.

I am pretty sure there are different ways to manage this, also I am probably missing something with the two tools I have tested so far, and probably there is a way to do what I want either using pathogen or tplugin.
Or there are better tools out there to manage plugins that can do what I am looking for.

Any advice here is very welcome.

Thanks.



--
Un saludo
Best Regards
Pablo Giménez

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments:

Post a Comment