salve.vim: static support for Leiningen and Boot
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
Type Name Latest commit message Commit time
Failed to load latest commit information.
compiler Add experimental dispatch.vim hints Apr 15, 2018
doc Opt in to auto-starting REPL connection Jun 1, 2015
plugin Always use repl as default :Start May 2, 2018
README.markdown Salve Jun 1, 2015

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.