Skip to content
Asynchronous Clojure Interactive Development
Lua Python Clojure Vim script Shell
Branch: master
Clone or download
jsonmurphy and hkupty Fix Installation bug when using Vundle (#62)
Running :helptags on the docs complains about the tag acid-remote-functions appearing twice
Latest commit 3325e59 Apr 27, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Port to lua (#31) Mar 21, 2019
deps Port to lua (#31) Mar 21, 2019
doc Fix Installation bug when using Vundle (#62) Apr 27, 2019
githooks/pre-commit Fix/motion (#47) Mar 27, 2019
lua/acid Fix for Nvim 0.4.0 (#60) Apr 12, 2019
plugin Top form eval (#58) Apr 10, 2019
rplugin/python3/acid Use exec_lua without abstraction layer (#61) Apr 13, 2019
.gitignore Add .gitignore Oct 3, 2016
.gitmodules Port to lua (#31) Mar 21, 2019 Fix top-level Apr 12, 2019 Cleanup Apr 10, 2019
mdexport.lua Update docs Mar 21, 2019


Asynchronous Clojure Interactive Development

What is it for?

Acid.nvim is a plugin for clojure development on neovim.


First, install the python dependencies:

pip3 install --user pynvim

Then, add and install acid:

Plug 'clojure-vim/acid.nvim', { 'do': ':UpdateRemotePlugins' }

Most of acid functionality is available through the lua interface. As lua doesn't provide the required asynchronous capabilities for handling nREPL connectivity, a python layer exists to provide them.

Nonetheless, one should never require to interact with python directly.

Version 2.x

The new version 2.x uses a both lua (to implement high-level features, such as code navigation, evaluating the current form or requiring the current buffer) and python (for the low-level features, such as fs navigation, sending messages to the nrepl and dealing with concurrency/async).

If you are looking for the 1.x version, you can find it on this branch. It won't be further updated, but you can still use if if you need something that this version is missing.

Differences from 1.x

Aside from the python/lua difference, there's also a bunch of minor differences:

  • The new version doesn't try to deal with user prompt (other than AcidInsertEval).
  • The new version provides most functions as an API so new clients/extended features can be built on top of acid.
  • Newer neovim features were incorporated on the new version (such as virtualtext and floating windows).
  • Acid now supports boot and tools.deps.
  • Acid can now spawn it's own nREPL client through tools.deps.
  • Acid can now take a [ip, port] tuple to connect to.


Most of the lua code is documented here. Vim documents are updated on a best effort basis.

Key features

Eval with virtualtext support


You can’t perform that action at this time.