Static Vim support for Leiningen, Boot, and the Clojure CLI.
Leiningen ran... [the ants] would get to him soon, despite the salve on his boots.
-- from "Leiningen versus the Ants"
:Consolecommand 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
:maketo invokelein,boot, orclojure, complete with stacktrace parsing. - Default dispatch.vim's
:Dispatchto running the associated test file. 'path'is seeded with the classpath to enable certain static Vim and fireplace.vim behaviors.
Install using your favorite package manager, or use Vim's built-in package support:
mkdir -p ~/.vim/pack/tpope/start
cd ~/.vim/pack/tpope/start
git clone https://tpope.io/vim/salve.git
git clone https://tpope.io/vim/projectionist.git
git clone https://tpope.io/vim/dispatch.git
git clone https://tpope.io/vim/fireplace.git
vim -u NONE -c "helptags salve/doc" -c q
vim -u NONE -c "helptags projectionist/doc" -c q
vim -u NONE -c "helptags dispatch/doc" -c q
vim -u NONE -c "helptags fireplace/doc" -c q
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, for the Clojure CLI deps.edn or
~/.clojure/deps.edn.
Copyright © Tim Pope. Distributed under the same terms as Vim itself.
See :help license.