Fork me on GitHub
#cursive
<
2024-05-22
>
thheller06:05:54

I might have asked this before, but is there any way I can stop Cursive from doing absolutely anything at the REPL itself? As in make it only send what I tell it to send to the REPL, absolutely nothing else. I don't want auto completion or whatever other things it does. For nREPL is sends various things. For Socket REPL it sends (clojure.lang.Compiler/load (clojure.lang.LineNumberingPushbackReader. (.StringReader. "(ns cursive.repl.runtime.socket... and then (cursive.repl.runtime.socket/repl) to just take over the stream. I'm experimenting with some REPL things in shadow-cljs, and this "extra" stuff really gets in the way. I'm tempted to write a nrepl middleware that drops all messages containing "cursive" but that can't be the way? And Cursive likely wouldn't like that?

thheller07:05:09

hmm yeah I did ask this before and the realization last time was to just abuse custom REPL commands and letting Cursive do its thing otherwise. That'll work this time too I guess.

cfleming08:05:56

Yeah, I do recall an issue about this. If there’s a good workaround, I’d probably rather not add something like this since it seems like a fairly niche use case. Could you use a clojure.main REPL? That basically should do what you want, and just gets completions from the project indexes, not the live REPL.

thheller09:05:33

ah yeah just launching a secondary JVM via clojure.main might work too. thx.