LucHermitte / local_vimrc

Per project/tree configuration plugins
GNU General Public License v3.0
125 stars 7 forks source link

Missing dependency #1

Closed alerque closed 10 years ago

alerque commented 10 years ago

The function lh#path#find_in_parents required by this does not seem to exist in any of the versions of lh-vim-lib I see around the net including the older ones at vim.org or the newer one on Google Code.

Please please make this a self contained plugin so that it can be installed using Vundle or other compatible plugin manages without going through dependency hell. I can't even find the code this depends on manually.

LucHermitte commented 10 years ago

Sorry. It won't be a self contained plugin. I'm maintaining too many plugins, and duplicating code is a total nightmare (all my plugins depend other common stuff, I've stopped duplicating every thing a long time ago).

Dependencies are handled by vim-addon-manager, and plugin managers compatible with vim-pi -- Sorry about Vundle and other simplistic plugin managers, they won't be supported. As specified in the addon-info file, the SVN repository is over there. Which means, here is the file you need: http://lh-vim.googlecode.com/svn/vim-lib/trunk/autoload/lh/path.vim

HTH

alerque commented 10 years ago

So ... the main problem is that even the version I downloaded is not up to date with the actual code repo. The rest is all a red-hearing.

There is really no need to turn up your nose at Vundle (and friends like NeoBundle) as too simplistic just because they work differently than your favorite system. As a matter of fact they can handle your plugins just fine, all they need is a place to actually fetch the code from. My problem was everything I was downloading was out of date and didn't have the right functions. With a git repository that is actually up to date with your source tree all that is required to support this is these two lines in your vimrc file:

Bundle 'alerque/lh-vim-lib'                                          
Bundle 'LucHermitte/local_vimrc'

I believe they can handle subversion too, but convention is to use Github repos so I have mirrored your SVN tree there fro now. As I mentioned in another comment it would be nice if you did that upstream.

LucHermitte commented 10 years ago

The thing is there is only one dependency here. That seems easy to just mirror one library plugin. If you look closely, you'll see I'm maintaining something like 17 different plugins, and there are a lot of inter-dependencies.

Something like a decade ago, I was trying to bundle every thing in self contained vimballs. This solution didn't scale.
Then MarcWeber published VAM which handles dependencies. His solution is very good for plugin authors like myself as we can easily specify and maintain dependencies (I don't need to recurse through the dependencies tree myself to give up to 10 lines of instructions to install each of my plugins). And this solution is also quite good for end users. They don't need to type those 10 lines, nor factorize them if they wish install several of my plugins.
But alas, the solutions everybody uses are the one that don't handle dependencies ...

Anyway, I've just fixed a bug of lh-vim-lib that impacts local_vimrc. I took advantage of it to add a little word about plugin installation.