A neovim clojure refactoring plugin
Switch branches/tags
Nothing to show
Clone or download
Latest commit 737008e May 20, 2018

README.md

A neovim port of clj-refactor.el

Usage

All commands are mapped under the cr prefix and use a two letter mnemonic shortcut. E.g. crrs for Clojure Refactor Rename Symbol.The full list is below.

Installation

Pre-requisites

Install node.js

Install latest neovim

Install node-host

Install refactor-nrepl

Install vim-fireplace

Vundle

Using Vundle, add this to your vundle .config/nvim/init.vim section:

Plugin 'snoe/clj-refactor.nvim'

Inside nvim

  • run :PluginInstall
  • :UpdateRemotePlugins you should see remote/host: node host registered plugins ['clj-refactor.nvim']
  • close all nvims simultaneously
  • refactor

Progress

Options

You can set g:clj_refactor_prune_ns_form and g:clj_refactor_prefix_rewriting to 0 to affect the corresponding middleware options. Both default to 1.

Passive abilities

Commands

Development / Testing

Run lein npm install

I generally have 4 terminals open:

  • $ rlwrap lein figwheel
  • $ node target/out/tests.js
  • $ lein cljsbuild auto plugin
  • $ tail -f $NEOVIM_JS_DEBUG

Somewhere in your environment do export NEOVIM_JS_DEBUG=~/nvimdebug.log and neovim will dump messages from the plugin there. If something goes wrong it will likely show up in ~/.nvimlog