Clojurescript repl in emacs
Create a file "cljs-repl" that looks like the following:
#!/bin/sh
CLOJURESCRIPT_HOME="/your/path/to/clojurescript"
CLJSC_CP=''
for next in lib/: lib/*: src/clj: src/cljs: test/cljs; do
CLJSC_CP=$CLJSC_CP$CLOJURESCRIPT_HOME'/'$next
done
java -server -cp $CLJSC_CP clojure.main -e \
"(require '[cljs.repl :as repl])
(require '[cljs.repl.rhino :as rhino])
(def env (rhino/repl-env))
(repl/repl env)"
Put that thing in your PATH. Then, in emacs you can do
M-x
set-variable
inferior-lisp-program
cljs-repl
Then you can do C-c C-z from a clojurescript buffer. If you're going to do this often then you can write a function that does this automatically (in your .emacs):
(defun cljs-repl ()
(interactive)
(setq inferior-lisp-program "cljs-repl")
(run-lisp))
(hobbled together from https://groups.google.com/forum/?fromgroups=#!topic/clojure/_JWvqc3fENQ)
Written by Pierre Larochelle
Related protips
3 Responses
If you're using leiningen
and lein-cljsbuild
, you could probably also just set your inferior-lisp-program
to "lein cljsbuild repl-rhino".
Thank you so much for this. My current project doesn't involve Clojure so I never thought to use lein. I'm going to have to try lein cljsbuild repl-launch
to get browser support working when I get home.
Worked a bit more to find out how to get clojruescript repl to connect to a browser: https://coderwall.com/p/ourduw