salve.vim: static support for Leiningen and Boot
Vim script
Switch branches/tags
Nothing to show
Clone or download
tpope Always use repl as default :Start
I think the only one that has ever used `lein run` this way is me.
Latest commit 2c294ff May 2, 2018
Permalink
Failed to load latest commit information.
compiler
doc
plugin
README.markdown

README.markdown

salve.vim

Static Vim support for Leiningen and Boot.

Leiningen ran... [the ants] would get to him soon, despite the salve on his boots.

-- from "Leiningen versus the Ants"

Features

  • :Console command to start a REPL or focus an existing instance if already running using dispatch.vim.
  • Autoconnect fireplace.vim to the REPL, or autostart it with :Console.
  • Navigation commands: :Esource, :Emain, :Etest, and :Eresource.
  • Alternate between test and implementation with :A.
  • Use :make to invoke lein or boot, complete with stacktrace parsing.
  • Default dispatch.vim's :Dispatch to running the associated test file.
  • 'path' is seeded with the classpath to enable certain static Vim and fireplace.vim behaviors.

Installation

If you don't have a preferred installation method, I recommend installing pathogen.vim, and then simply copy and paste:

cd ~/.vim/bundle
git clone git://github.com/tpope/vim-salve.git
git clone git://github.com/tpope/vim-projectionist.git
git clone git://github.com/tpope/vim-dispatch.git
git clone git://github.com/tpope/vim-fireplace.git

Once help tags have been generated, you can view the manual with :help salve.

FAQ

Why does it sometimes take a few extra seconds for Vim to startup?

Much of the functionality of salve.vim depends on knowing the classpath. When possible, this is retrieved from a fireplace.vim connection, but if not, this means a call to lein classpath or boot show --fake-classpath.

Once retrieved, the classpath is cached until a project manifest file changes: for Leiningen project.clj or ~/.lein/profiles.clj, for Boot build.boot or ~/.boot/profile.boot.

License

Copyright © Tim Pope. Distributed under the same terms as Vim itself. See :help license.