Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/clojure-vim/acid.nvim
Asynchronous Clojure Interactive Development
https://github.com/clojure-vim/acid.nvim
async clojure-development neovim neovim-plugin nvim
Last synced: 5 days ago
JSON representation
Asynchronous Clojure Interactive Development
- Host: GitHub
- URL: https://github.com/clojure-vim/acid.nvim
- Owner: clojure-vim
- Created: 2016-10-03T17:29:52.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-11-11T10:44:42.000Z (about 3 years ago)
- Last Synced: 2024-06-25T22:42:52.980Z (5 months ago)
- Topics: async, clojure-development, neovim, neovim-plugin, nvim
- Language: Lua
- Homepage:
- Size: 448 KB
- Stars: 162
- Watchers: 8
- Forks: 12
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
![acid.nvim](https://pictshare.net/wvkzwo.png)
Asynchronous Clojure Interactive Development
## What is it for?
Acid.nvim is a plugin for clojure development on neovim.
## Installing
First, install the python dependencies:
```bash
pip3 install --user pynvim
```Then, add and install acid:
```vim
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](https://github.com/clojure-vim/acid.nvim/tree/legacy). 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.## Documentation
Most of the lua code is documented [here](API.md).
Vim documents are updated on a best effort basis.## Key features
### Eval with virtualtext support
[![asciicast](https://asciinema.org/a/236693.svg)](https://asciinema.org/a/236693)