HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
clojure-emacs
clj-refactor.el
Emacs Lisp2014–2019
clojure-emacs / clj-refactor.el

clj-refactor.el

A CIDER extension that provides powerful commands for refactoring Clojure code.

7Distinct people
9Mentions
0Explicit recommenders
784GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A CIDER extension that provides powerful commands for refactoring Clojure code.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year9 dated mentions

Observed mentions: 2014-09-03 07:09:00 UTC to 2019-08-29 16:25:19 UTC.

012342014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC101
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC404
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC202
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202

What Hacker News says

9 sources
This functionality is provided by `xref-find-definition`[1]. For many languages this defaults to using keywords from a generated tags index file, but many modes have a language server or some other more specific facility to provide this functionality at runtime. I'm not familiar with what provides that functionality for C/C++, but Ruby has `robe`, python has `jedi`, clojure has `cider`, rust has `racer`, etc. It generally requires a some setup for each language you use, but there is broad support for this functionality (and it often provides some form of symbol auto-completion as well). Some modes also support limited refactoring tools[2], but that's not quite as common. [1] https://www.gnu.org/software/emacs/manual/html_node/emacs/Xr... [2] https://github.com/clojure-emacs/clj-refactor.el, https://github.com/Wilfred/emacs-refactor, http
Read the rest
In Emacs 26.3
Links to some of the tools used clojure and clojurescript https://github.com/clojure-emacs/clj-refactor.el (refactoring) https://github.com/clojure-emacs/cider (IDE) https://github.com/bhauman/lein-figwheel (code reloading) emacs https://github.com/magit/magit (the interface to Git) https://github.com/abo-abo/avy (jumping around) https://github.com/magnars/expand-region.el (marking stuff) https://github.com/magnars/multiple-cursors.el (placing cursors at similar stuff and editing all at once)
In Parens of the Dead
I have nothing against Cursive, and in fact, have been eying it from afar. But this kind of comment is just needlessly dismissive with little in the way of substance, as far as I can tell. Would you like to expand on what these features that Cursive has that are "Categorically better" than Emacs'? I'm not saying there isn't any, and certainly I've used better refactoring tools than https://github.com/clojure-emacs/clj-refactor.el in other languages. But what on earth is wrong with the navigation? The main advantage I've seen form a colleague is the highlighting automatically of usages, but I'm pretty sure I can set that up in Emacs too.
In Why did Borland fail?
There is also Ecukes[1] which lets you write Cucumber style integration tests for emacs. We use these exclusively when writing the elisp part of clj-refactor[2]. These are so high level, and readable, that they can often double as documentation. The only real gripe I have with Ecukes is that the diff of the actual and expected output could be better. Turning on whitespace-mode while writing these scenarios have often solved an otherwise inexplicable test failure. [1] https://github.com/ecukes/ecukes [2] https://github.com/clojure-emacs/clj-refactor.el
In Testing Emacs Packages: surprisingly non-awful

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.