Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

43 Commits

Repository files navigation

cider.vim

Some additional IDE-like functionality for Clojure development on Vim using cider-nrepl and refactor-nrepl.

Using

Requires fireplace.vim, cider-nrepl and refactor-nrepl middlewares:

Leiningen, ~/.lein/profiles.clj

{:user {:plugins [[cider/cider-nrepl "0.9.1"]
[refactor-nrepl "1.1.0"]]}}

Boot, ~/.boot/profile.boot

(swap! boot.repl/*default-dependencies*
concat '[[cider/cider-nrepl "0.9.1"]
[refactor-nrepl "1.1.0"])
(swap! boot.repl/*default-middleware* conj
'cider.nrepl/cider-middleware
'refactor-nrepl.middleware/wrap-refactor)

Cider-nrepl takes care of all other dependencies so you don't need to depend e.g. on cljfmt.

Features

  • Code formatting (uses cljfmt)
    • =ff (current form), =f{motion}, =F (current file)
  • Var undef / alias unmap
    • cdd
  • Clean ns (eliminate :use, sort, remove unused stuff and duplication)
    • <F4>
  • Resolve missing
    • cRR (TODO: Find better binding)
    • <F5>: findSymbol (TODO: Find better binding)

Configuration

If you do not like the default bindings, you can disable them and create your own. Check the implementation file for <Plug> bindings.

letg:cider_no_maps=1" Disable built-in mappings" Set refactor-nrepl options letg:refactor_nrepl_options= {
\ 'prefix-rewriting': 'false'," tell clean-ns to not use prefix forms\ 'prune-ns-form': 'false'," ... and don't remove unused symbols\ }
" Setup visualmode bindings yourself, to some keys which don't interact" with e.g. change commandautocmdFileTypeclojurexmap<buffer>f<Plug>CiderFormat

TODO

  • Cider-nrepl
    • Test utilities
    • Code reloading
    • Inspecting, tracing, debugging?
  • Refactor-nrepl
    • Rename symbol

License

Copyright (C) 2015-2017 Juho Teperi

Distributed under the MIT License.

About

Additional IDE-like functionality for Clojure development using cider-nrepl

Resources

Stars

43 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages