-
-
Save malyn/646e291d01101dcc8b48 to your computer and use it in GitHub Desktop.
diff --git a/plugin/fireplace.vim b/plugin/fireplace.vim | |
index 6c32caa..a415bf8 100644 | |
--- a/plugin/fireplace.vim | |
+++ b/plugin/fireplace.vim | |
@@ -232,7 +232,9 @@ function! s:repl.piggieback(arg, ...) abort | |
else | |
let arg = ' :repl-env ' . a:arg | |
endif | |
- let response = connection.eval('(cemerick.piggieback/cljs-repl'.arg.')') | |
+ "let response = connection.eval('(cemerick.piggieback/cljs-repl'.arg.')') | |
+ call connection.eval("(use 'figwheel-sidecar.repl-api)") | |
+ let response = connection.eval('(cljs-repl)') | |
if empty(get(response, 'ex')) | |
call insert(self.piggiebacks, extend({'connection': connection}, deepcopy(s:piggieback))) |
Stumbled upon this today. Can't thank you enough! This works great for me. 😄
+1
Thank you for this!
Wow. Man, thank you so much!
This unfortunately did not work for me. Anybody mind sharing a sample project.clj
just so I can debug whether my problems are being caused by other configuration stuff?
When trying to do cpr
I get the following error:
Error detected while processing function <SNR>52_Require:
line 13:
E716: Key not present in Dictionary: user_ns()})
E116: Invalid arguments for function fireplace#session_eval
Any ideas? Thanks!
@cassiomarques Are you starting the repl using lein figwheel
?
Is this still relevant?
I have to confirm that this patch is still relevant.
To reproduce, I've started a new figwheel template
lein new figwheel hello-world -- --reagent
Opened the figwheel repl via either lein figwheel
(or lein repl
, followed by (fig-start)
).
Then opened a clojure file in vim and called :Piggyback
. Then sent a form to the repl with cpp
.
In the unpatched version, this was the error:
org.mozilla.javascript.EvaluatorException: Java class "[Ljava.lang.StackTraceElement;"
has no public instance field or method named "cljs$lang$protocol_mask$partition0$". (rhino.clj#41)^@'}
In the patched version, the result of e.g. (println "hello")
appears in the browser console, the result of a side-effect-free evaluation (e.g. (+ 1 2)
)appears right in vim. Excellent!
thanks. the patch works (took me a while to find it).
According to this issue tpope/vim-fireplace#222 there is no need for this patch any more.
Note that if you create an .nrepl-port file first (with the contents "7888") then you only need to type the ":Piggieback" command -- the nREPL connection will be established automatically.