In the practicalli/spacemacs.d configuration you can comment the (spacemacs/toggle-evil-safe-lisp-structural-editing-on-register-hooks)
if using holy mode only.
The configuration is optimised for Evil mode and not tested at all in holy mode, so suggest just using it as an example and just copy anything that seems useful.
Some of the layer variables may be the only thing to copy. There may be some general package tweaks in dotspacemacs/user-config.
Additional keybinding will not likely be useful in holy mode.
I am trying to get a shadow-cljs repl connection working in a tools cli project. I have tried using cider-jack-in-cljs -> shadow -> :main And when I do that I get:
1. Unhandled clojure.lang.ExceptionInfo
missing instance
{}
runtime.clj: 11 shadow.cljs.devtools.server.runtime/get-instance!
runtime.clj: 8 shadow.cljs.devtools.server.runtime/get-instance!
api.clj: 122 shadow.cljs.devtools.api/worker-running?
api.clj: 120 shadow.cljs.devtools.api/worker-running?
api.clj: 206 shadow.cljs.devtools.api/watch
api.clj: 200 shadow.cljs.devtools.api/watch
api.clj: 204 shadow.cljs.devtools.api/watch
api.clj: 200 shadow.cljs.devtools.api/watch
REPL: 1 user/eval66677
My understanding is that jack-in is supposed to start the shadow worker process, so this is confusing.
I have also tried starting the shadow-cljs server on the command line and then using cider-connect-cljs specifying: localhost -> 9000
(shadow has an nREPL server there:
shadow-cljs - nREPL server started on port 9000)
I see a message "connection established"
I then open a cljs file and issue: cider-switch-to-repl-buffer and I get "No cljs REPLs in current session.."
Anyone have any pointers for where to go from here?do I have to add piggieback and cider-nrepl to my deps.edn file? It's not clear from the docs if this is required or if cider will inject them for you
@danvingo I posted about this is in reddit. With a dir locals configured to use shadow. And shadow pointing at deps. You can run cider Jack in and everything gets injected and shadow starts a server. There is as warning about refactor nrepl though, but that's something you can choose to ignore. It even works... I posted a more complex alternative to.
Thanks for the info - I managed to get a repl working with shadow and clj - things work if I connect to the shadow repl first and then jack-in to a clj repl. But they don't work if I start the clj repl first.
@danvingo you should only be running cider-jack-in-cljs
which starts an nrepl server and connects the editor client to it. OR starting an nrepl server some other way (shadow watch app) and using cider-connect-cljs to connect to it.
hey - so I cider-connect-cljs to a shadow watch process - but I also have a clojure backend which is a separate nrepl process
so cljs files should send forms to the shadow managed nrepl and clj files should send forms to the clj nrepl process
In the case when you have two seperate applications then yes, you want two nrepl servers.
It's been mentioned in the #cider channel previously that running cider-jack-in-cljs
should work, assuming shadow-cljs is configured correctly.
Suggest asking in the #shadow-cljs channel as quite a few people seem to struggle getting this working (I haven't tried)
i think i got it! - I added the middleware deps to deps.edn seems to work now..
err, nvm almost there I 'll ask in the other channels
Did you add cider-nrepl ? https://shadow-cljs.github.io/docs/UsersGuide.html#user-config
so things work if I don't start a clojure repl first - I can connect to a shadow cljs repl but when I start a repl via clojure first I get prompted with that "use existing session?" msg and cider also doesn't show the shadow-cljs nrepl port (which it does if I don't start the clojure repl)
I did add cider-nrepl and that got things working with shadow
When I try starting nrepl on one of the clj projects, I get the following error -
error in process sentinel: nrepl-server-sentinel: Could not start nREPL server: Downloading: org/openjfx/javafx-base/13/javafx-base-13-linux.jar from datomic-cloud
(I am on manjaro linux) I also tried installing openjfx, however the problem is still there.@jr0cket thanks for the info
Looks like you are running Java 13, maybe some of the libraries you are using are not happy on that version. Try Java 11 or Java 8.
@jr0cket thanks, installed java 8, and its working like a charm !
just for my understanding why would it give me java fx error with java 14 ?
I updated spacemacs today (developer branch) and now I have some dots marking the indentation of my headings. Does anyone know how to remove them or replace with spaces, please? I'd still like it to indent.
@richard The org layer changes to org-superstar package, there seems to be a setting to change the leading stars to space, which says it will effectively hide the leading starts https://github.com/integral-dw/org-superstar-mode#hide-leading-stars
In a nutshell, Java module system was introduced in Java 9. This changed the way Java was structured internally and not everything in the JVM world has caught up with such a significant change. Somewhere between 8 and 11 the Java FX library was split off, so is no longer part of the base Java install. For example, if you are using Cognitect REBL tool, you need to explicitly specify Java FX libraries, if using Java * then the Java FX libraries are built in.
Java 11 is the current long term support version of Java, so I would recommend using either 8 or 11. Using Java 14 is only valuable if you want to try out new features in Java or that version of the JVM. The Java roadmap has more details if you are interested https://www.oracle.com/java/technologies/java-se-support-roadmap.html
Nice! Worked a treat, John. PS. I always check your https://practicalli.github.io/spacemacs/install-spacemacs/update.html tutorial before I ever do an update. Thank you.