vim-iced icon indicating copy to clipboard operation
vim-iced copied to clipboard

Clojure Interactive Development Environment for Vim8/Neovim

= 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

+++

== 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/tami5/vim-iced-compe[vim-iced-compe] for https://github.com/hrsh7th/nvim-compe[nvim-compe] 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-2022 http://twitter.com/uochan[Masashi Iizuka]

Distributed under the MIT License.