Created
February 18, 2011 19:08
-
-
Save andyl/834215 to your computer and use it in GitHub Desktop.
Generates Ctags and Vim Paths from Gemfile.lock
Awesome! Thanks for your excellent work.
@tpope - I reviewed your vim-bundler code. for me, who doesn't know vim-script, the code is hard to read. Since you write plugins for Ruby, I'm curious why you write in vim-script, rather than using vim's capability for scripting in ruby.
ps thanks for all your work - esp pathogen which really made it easy to use vim plugins.
Lots of reasons.
- The Vim Ruby interface sucks. It's a copy and paste of the Vim Perl interface, which is, as I recall, a copy and paste of the nvi Perl interface. So it was designed for another language to interface with another editor. The API is atrocious and only supports a couple of dozen methods, the most useful being
eval
, which means most of your plugin will end up beingeval
ing Vimscript. - It's buggy. I used it back in the day in rails.vim, and the maintainer of rubycomplete.vim started getting bug reports about stack overflows. Why? It turns out that because I first called the Ruby interface a few levels deep inside a Vim function, the interpreter was getting the short stick on stack space.
- It limits what versions of Vim you can use. This is not the end of the world for a plugin designed for Ruby users, but this means, for example, OS X users who use the command line Vim that ships with the OS are left out in the cold.
- It limits you to the system Ruby. Like 90% of the people I know use RVM nowadays, and this plugin would force them to
sudo /usr/bin/gem update --system
andsudo /usr/bin/gem install bundler
.
Vimscript is a horrible, warty language. But it gets the job done.
Thanks for that explanation.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@skyeagle done!
https://github.com/tpope/vim-bundler