Clojure Interactive Development Environment for Vim8/Neovim
Branch: master
Clone or download
Latest commit 382770f Feb 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
autoload Fix to reset cljs environment when disconnected Feb 19, 2019
bin Bump nrepl and cider-nrepl Feb 19, 2019
clj Update not to wrap `cider.nrepl/wrap-pprint` and `cider.nrepl/wrap-pp… Jan 15, 2019
doc Add document for g:iced#nrepl#auto#does_switch_session option Feb 15, 2019
ftplugin Fix `IcedCljsRepl` command to pass an argument Feb 19, 2019
indent Update GetIcedIndent to fallback to GetClojureIndent #64 Dec 17, 2018
message/iced Add iced#nrepl#cljs#cycle_session function Feb 14, 2019
python Add python3 code to boost decoding bencode Oct 11, 2018
scripts Add script to detect old deps.edn dependencies Nov 28, 2018
test Add test for nrepl dispatcher with multiple different ids Feb 19, 2019
.aspell.en.pws Update aspell dictionary Feb 19, 2019
.coveragerc Update to measure code coverage Oct 26, 2018
.gitignore Update makefile Oct 26, 2018
.local.vimrc Update local.vimrc to ignore .vimdoc Oct 12, 2018
CHANGELOG.adoc Update changelog Feb 19, 2019
LICENSE add files Aug 3, 2018
Makefile Add changelog Nov 2, 2018
README.adoc ver 0.9.1 Jan 1, 2019
deps.edn Bump nrepl and cider-nrepl Feb 19, 2019
logo.svg Add files via upload Sep 22, 2018
requirements.txt Update to measure code coverage Oct 26, 2018

README.adoc

vim-iced

logo
Clojure Interactive Development Environment for Vim8/Neovim.

GitHub release CircleCI Codecov GitHub license Powered by vital.vim

Work in progress

Requirements

  • Vim 8.1 or later, Neovim 0.3.1 or later

    • Neovim support is VERY EXPERIMENTAL

  • Clojure 1.8 or later

    • 1.9 or later is recommended

  • No python! (boost possible with if_python3)

Features

⚡️

Asynchronous evaluation

powered by channel in Vim8

🔥

Testing

run test under cursor
run tests in namespace
re run failed/last test

🚀

Refactoring

clean namespace
add missing
thread first/last
extract function
move to let

🔍

Reference

Docs, Javadoc, and Grimoire

🐜

Debugging

supports cider-nrepl’s debugger 🎥

👀

Linting

powered by jonase/eastwood 🎥 and joker

📓

Skeleton

provides code skeleton when you open new file

🎩

ClojureScript support

Figwheel, GraalJS and Nashorn is supported currently

🎨

Command palette

access commands smoothly and define user custom commands

Note
vim-iced is heavily powered by cider-nrepl, refactor-nrepl, and iced-nrepl.

Installation

vim-plug

" One of following is required
Plug 'ctrlpvim/ctrlp.vim'
" or
Plug 'junegunn/fzf'

Plug 'guns/vim-sexp',    {'for': 'clojure'}
Plug 'liquidz/vim-iced', {'for': 'clojure'}
Note
ctrlp.vim or fzf is required when selecting multiple candidates.

iced command currently supports:

  • Leiningen

  • Boot

  • Clojure CLI

Usage

  1. Start repl via iced command

    • iced repl

  2. Open source file

  3. Evaluate forms (If not connected, vim-iced will connect automatically)

Configuration

key mappings

vim-iced is providing default key mappings. To enable default key mappings, add following line to your .vimrc.

let g:iced_enable_default_key_mappings = v:true

See Customizing section in vim-iced.txt for actual mappings.

Document

External plugins

License

Copyright (c) 2018-2019 Masashi Iizuka

Distributed under the MIT License.