I'm refactoring my Emacs config files so that they are generated with org-babel-tangle. I am able to do everything I need but I really miss better refactoring support.

As an example, after I define a symbol (variable, function), there maybe a lot of unrelated code and prose before the next usage:

Some explanation about a and x:

(defun a ...)
(defvar x ...)

Another paragraph ...


Using a or x:

(doSomething (a) ...)
(crashSystem x ...)

To rename a symbol, I enter edit mode (C-c '), and there is some limited refactoring support, e.g., rename symbol, extract variable, etc. However, changes to a symbol across all Babel blocks or across files is not supported.

My workflow today is to use helm-projectile-ag to find usages in the project (git repo) and then apply the required changes to each, one by one, by hand.

I have been googling for refactoring support across blocks/files so far with little success. I have posted this question to gather some pointers, references to Emacs packages that can improve my refactoring workflow or maybe help me rethink my workflow.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.