Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/liquidz/vim-iced

Clojure Interactive Development Environment for Vim8/Neovim
https://github.com/liquidz/vim-iced

cider clojure development hacktoberfest interactive nrepl vim vim-iced vim-plugin

Last synced: 2 months ago
JSON representation

Clojure Interactive Development Environment for Vim8/Neovim

Lists

README

        

= vim-iced

+++


logo

Clojure Interactive Development Environment for Vim8/Neovim.




GitHub release


GitHub license


Powered by vital.vim




GitHub Actions for vim/neovim workflow


GitHub Actions for dependencies workflow


Codecov


+++

[WARNING]
====
This project is in maintenance mode.
New features will not be added.

Now I'm developing https://github.com/liquidz/vim-elin[vim-elin] as the main project, so please look forward to it.
====

== Requirements

* Vim 8.1.0614 or later, Neovim 0.4.0 or later.
* Clojure 1.8 or later.
** 1.10 or later is recommended.
* No python! (boost possible with `if_python3`)

== Features

[cols="2*,a"]
|===

|:zap:
|Asynchronous evaluation
|powered by `channel` in Vim8 / Neovim

|:fire:
|Testing
|[%hardbreaks]
Run test under cursor
Run tests in namespace
Re run failed/last test
Also supports https://github.com/lambdaisland/kaocha[kaocha] by https://github.com/liquidz/vim-iced-kaocha[vim-iced-kaocha]

|:rocket:
|Refactoring
|[%hardbreaks]
Clean namespace
Add missing
Thread first/last
Extract function
Move to let
Rename symbol

|:thought_balloon:
|Auto completion
|[%hardbreaks]
Provided by following external plugins.
- https://github.com/liquidz/vim-iced-coc-source[vim-iced-coc-source] for https://github.com/neoclide/coc.nvim[coc.nvim]
- https://github.com/liquidz/vim-iced-asyncomplete[vim-iced-asyncomplete] for https://github.com/prabirshrestha/asyncomplete.vim[asyncomplete.vim]
- https://github.com/lamp/cmp-iced[cmp-iced] for https://github.com/hrsh7th/nvim-cmp[nvim-cmp]
Omni completion is provided by default.

|:triangular_ruler:
|Formatting
|[%hardbreaks]
Supports followings currently.
- https://github.com/weavejester/cljfmt[cljfmt] via nREPL
- https://github.com/greglook/cljstyle[cljstyle]
- https://github.com/kkinnear/zprint[zprint]
- https://github.com/candid82/joker[joker]

|:mag:
|Reference
|[%hardbreaks]
Docs, Javadoc, and https://clojuredocs.org[ClojureDocs] https://twitter.com/uochan/status/1154792252167741440[:movie_camera:]
Function dependencies and references https://twitter.com/uochan/status/1139540878853206017[:movie_camera:]

|:ant:
|Debugging
|[%hardbreaks]
Supports cider-nrepl's debugger https://twitter.com/uochan/status/1034404572368842752[:movie_camera:]
Browsing tapped values https://twitter.com/uochan/status/1146982101662572544[:movie_camera:]

|:notebook:
|Skeleton
|Provides code skeleton when you open new file

|:tophat:
|ClojureScript support
|[%hardbreaks]
Supports followings currently.
- https://github.com/bhauman/figwheel-main[Figwheel Main], https://github.com/bhauman/lein-figwheel[lein-figwheel]
- https://github.com/thheller/shadow-cljs[shadow-cljs]

|:sunglasses:
|Static analysis
|Boost performance with static analysis powered by https://github.com/clj-kondo/clj-kondo[clj-kondo]

|:electric_plug:
|Socket REPL
|Supports minimal operations.

|:art:
|Command palette
|Access commands smoothly and define user custom commands

|===

NOTE: vim-iced is heavily powered by https://github.com/clojure-emacs/cider-nrepl[cider-nrepl],
https://github.com/clojure-emacs/refactor-nrepl[refactor-nrepl],
and https://github.com/liquidz/iced-nrepl[iced-nrepl].

== Documents

* https://liquidz.github.io/vim-iced/#installation[Installation]
* https://liquidz.github.io/vim-iced/#quick_start[Quick start]
** https://liquidz.github.io/vim-iced/#cheatsheet[Cheatsheet]
* https://liquidz.github.io/vim-iced/vim-iced.html[vim-iced.txt (Vim help file)]

== External plugins

[cols="2*,a"]
|===

|:fire:
| https://github.com/liquidz/vim-iced-kaocha[vim-iced-kaocha]
| Provides some commands for testing with https://github.com/lambdaisland/kaocha[kaocha].

.2+|:mag:
| https://github.com/liquidz/vim-iced-project-namespaces[vim-iced-project-namespaces]
| Provides `:IcedBrowseNamespace` command for jumping to namespace in your project.

| https://github.com/liquidz/vim-iced-function-list[vim-iced-function-list]
| Provides `:IcedBrowseFunction` command for jumping to functions in current namespace.

.4+|:thought_balloon:
| https://github.com/liquidz/vim-iced-coc-source[vim-iced-coc-source]
| Provides auto completion by https://github.com/neoclide/coc.nvim[coc.nvim].

| https://github.com/liquidz/vim-iced-asyncomplete[vim-iced-asyncomplete]
| Provides auto completion by https://github.com/prabirshrestha/asyncomplete.vim[asyncomplete.vim].

| https://github.com/nbardiuk/vim-iced-ncm2[vim-iced-ncm2]
| Provides auto completion by https://github.com/ncm2/ncm2[ncm2].

| https://github.com/tami5/vim-iced-compe[vim-iced-compe]
| Provides auto completion by https://github.com/hrsh7th/nvim-compe[nvim-compe].

|:ant:
| https://github.com/liquidz/vim-iced-fern-debugger[vim-iced-fern-debugger]
| Provides tree views for debugging results and tapped values by https://github.com/lambdalisue/fern.vim[fern.vim].

|:books:
| https://github.com/liquidz/vim-iced-multi-session
| Provides multi session support like connecting to nREPL and shadow-cljs.

|===

== License

Copyright (c) 2018-2024 https://scrapbox.io/uochan/uochan[Masashi Iizuka]

Distributed under the MIT License.