re-jump.el
emacs navigation for re-frame projects
What does it do?
Assuming your re-frame registrations use fully qualified keywords (if they don't, they should) you may have source files that look like this:
(ns app.model
 (:require [re-frame.core :as re-frame]))
(re-frame/reg-event-db
 ::foo
 ...)
(ns app.view
 (:require [re-frame.core :as re-frame]
      [app.model :as model]))
(defn bar []
 (re-frame/dispatch [::model/foo]))
If you are editing app.view
you may be interested in what the foo
event does. Unfortunately CIDER won't let you jump-to-var
on a keyword because it's not a var! You have to manually visit the model
namespace amd search for foo
, possibly skipping past other references to it until you find the declaration where it gets registered.
This becomes a pain when your code gets bigger.
re-jump gives you the same experience jumping to re-frame registrations as CIDER does for vars: with your cursor on a keyword press M->
(this is M-.
with the shift key).
Voila!