Skip to content
This repository was archived by the owner on Feb 23, 2025. It is now read-only.

liquidz/vim-iced

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a41e244 Β· Feb 23, 2025
Jun 26, 2020
Feb 23, 2025
Jun 12, 2024
Feb 28, 2024
Jan 2, 2024
Jun 15, 2024
Apr 16, 2022
Jun 15, 2024
Aug 11, 2020
Feb 28, 2024
Jun 12, 2024
Apr 30, 2024
Sep 1, 2022
Jan 2, 2024
Nov 17, 2020
Aug 23, 2019
Mar 2, 2021
Jan 14, 2020
Jun 15, 2024
Aug 3, 2018
May 7, 2023
Feb 23, 2025
Jun 15, 2024
Feb 28, 2024
Jan 25, 2020

Repository files navigation

Warning

Now I’m developing elin as the main project.

Elin is a Clojure development environment for Vim/Neovim, primarily written in Babashka, and being developed as the successor to vim-iced. Please look forward to it.

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

⚑

Asynchronous evaluation

powered by channel in Vim8 / Neovim

πŸ”₯

Testing

Run test under cursor
Run tests in namespace
Re run failed/last test
Also supports kaocha by vim-iced-kaocha

πŸš€

Refactoring

Clean namespace
Add missing
Thread first/last
Extract function
Move to let
Rename symbol

πŸ’­

Auto completion

Provided by following external plugins.
- vim-iced-coc-source for coc.nvim
- vim-iced-asyncomplete for asyncomplete.vim
- cmp-iced for nvim-cmp
Omni completion is provided by default.

πŸ“

Formatting

Supports followings currently.
- cljfmt via nREPL
- cljstyle
- zprint
- joker

πŸ”

Reference

Docs, Javadoc, and ClojureDocs πŸŽ₯
Function dependencies and references πŸŽ₯

🐜

Debugging

Supports cider-nrepl’s debugger πŸŽ₯
Browsing tapped values πŸŽ₯

πŸ““

Skeleton

Provides code skeleton when you open new file

🎩

ClojureScript support

Supports followings currently.
- Figwheel Main, lein-figwheel
- shadow-cljs

😎

Static analysis

Boost performance with static analysis powered by clj-kondo

πŸ”Œ

Socket REPL

Supports minimal operations.

🎨

Command palette

Access commands smoothly and define user custom commands

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

External plugins

πŸ”₯

vim-iced-kaocha

Provides some commands for testing with kaocha.

πŸ”

vim-iced-project-namespaces

Provides :IcedBrowseNamespace command for jumping to namespace in your project.

vim-iced-function-list

Provides :IcedBrowseFunction command for jumping to functions in current namespace.

πŸ’­

vim-iced-coc-source

Provides auto completion by coc.nvim.

vim-iced-asyncomplete

Provides auto completion by asyncomplete.vim.

vim-iced-ncm2

Provides auto completion by ncm2.

vim-iced-compe

Provides auto completion by nvim-compe.

🐜

vim-iced-fern-debugger

Provides tree views for debugging results and tapped values by fern.vim.

πŸ“š

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

Provides multi session support like connecting to nREPL and shadow-cljs.

License

Copyright (c) 2018-2024 Masashi Iizuka

Distributed under the MIT License.