Skip to content

Running figwheel with Emacs Inferior Clojure Interaction Mode

David Nolen edited this page Jul 3, 2015 · 13 revisions

Assuming you already have clojure-mode, run M-x package-list-packages and install inf-clojure.

Create a script/repl.clj with the following contents:

(use 'figwheel-sidecar.repl-api)
(start-figwheel! {:all-builds (figwheel-sidecar.repl/get-project-cljs-builds)})
(cljs-repl)

Edit your .emacs or init.el and add a function like the following if you are using the JAR in your current directory:

(defun cljs-node-repl ()
  (interactive)
  (run-clojure "lein trampoline run -m clojure.main script/repl.clj"))

Open your ClojureScript file and run M-x figwheel-repl. You'll get a new buffer with the REPL. Switch back to your file and run M-x inf-clojure-minor-mode. C-c C-l will load the file. C-c Meta-n will switch your namespace. If you place your cursor at the end of a s-expression, C-x C-e will evaluate that expression. C-c C-v will show the docs. C-c C-s will show the source. C-c <return> will macroexpand. Refer to inf-clojure for more documentation.