liquidz / vim-iced

Clojure Interactive Development Environment for Vim8/Neovim
https://liquidz.github.io/vim-iced/
MIT License
516 stars 35 forks source link
cider clojure development hacktoberfest interactive nrepl vim vim-iced vim-plugin

= 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

== 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.

|:triangular_ruler: |Formatting |[%hardbreaks] Supports followings currently.

|: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.

|: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

== 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.