github.com/liquidz/vim-iced

Clojure Interactive Development Environment for Vim8/Neovim

Open this visualization on its own page →

Contributors

21

Lines of Code

4,430

From

2018-08-03

To

2021-02-10

About liquidz/vim-iced

Vim-iced is a Clojure Interactive Development Environment for Vim8 and Neovim that enables interactive Clojure development directly within the editor. The plugin provides asynchronous code evaluation powered by Vim's channel system, allowing developers to test and refactor code without leaving their editor. It supports nREPL connections and integrates with CIDER-nREPL and refactor-nREPL to provide advanced development features.

The plugin offers comprehensive Clojure development tools including test execution, refactoring operations like clean namespace, thread first/last macros, and symbol renaming. It includes debugging support via cider-nrepl's debugger and the ability to browse tapped values. Vim-iced also provides reference lookup for documentation, Javadoc, and ClojureDocs integration, along with code formatting support for multiple formatters like cljfmt, cljstyle, zprint, and joker. The project includes ClojureScript support for Figwheel Main, lein-figwheel, and shadow-cljs.

Notable technical aspects include that vim-iced requires no Python dependency, instead using Vim's native channel capabilities for asynchronous operations. It integrates with various completion engines like coc.nvim and asyncomplete.vim through external plugins, and uses clj-kondo for static analysis to boost performance. The project is primarily written in Vim Script and requires Clojure 1.8 or later. The maintainer is developing Elin as a successor to vim-iced, written primarily in Babashka.

Share this video