Since the last announcement of clj-refactor in this group, there's been a 
flurry of activity. Lars Andersen <https://github.com/expez> and Benedek 
Fazekas <https://github.com/benedekfazekas> have been hard at work with the 
editor-agnostic refactor-nrepl 
<https://gitter.im/clojure-emacs/refactor-nrepl> package, which was spawned 
out of clj-refactor.el. I'm happy to say that there are now refactorings in 
both Light Table <https://github.com/rundis/clj-light-refactor> and vim 
<https://github.com/Deraen/vim-cider> available based on this effort.

As for clj-refactor, the latest releases have brought a lot of new features 
- here are some highlights:

   - 
   
   *Add project dependency* gives you a list of artifacts on Clojars, lets 
   you select version and adds it to your project.clj, then hotloads the 
   dependency into your REPL. demo 
   
<https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-add-project-dependency>
   - 
   
   *Add missing libspec* finds the symbol at point in your classpath, and 
   adds the proper require statement to your namespace. demo 
   
<https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-add-missing-libspec>
   - 
   
   *Find usages* opens a grep-like buffer with all usages of the symbol at 
   point. demo 
   <https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-find-usages>
   - 
   
   *Rename symbol* renames all occurences of the symbol at point, in your 
   project. demo 
   <https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-rename-symbol>
   - 
   
   *Clean namespace*
   - Eliminates :use clauses in favor of refer :all.
      - Sorts required libraries, imports and vectors of referred symbols
      - Raises errors if any inconsistencies are found (e.g. a libspec with 
      more than one alias).
      - Removes any duplication in the :require and :import form.
      - Removes any unused libspec vectors
      - Removes unused symbols from the :refer vector, or removes it 
      completely.
      - Removes any unused imports
      - Optionally rewrites to favor prefix form, e.g. [clojure [string 
      test]] instead of two separate libspecs demo 
      <https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-clean-ns>
   - 
   
   *Extract function* extracts the form at point, or the nearest enclosing 
   form, into a toplevel defn.demo 
   <https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-extract-function>
   - 
   
   *Inline symbol* replaces the symbol at point with its definition. 
   Removes empty lets afterwards.demo 
   <https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-inline-symbol>
   - 
   
   *Add stubs* adds a skeleton implementation of the protocol or interface 
   at point. demo 
   <https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-add-stubs>
   
And a whole bunch more. See everything clj-refactor has to offer 
<https://github.com/clojure-emacs/clj-refactor.el/wiki>.

Thanks to all the contributors, and especially to Lars and Ben!

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to