Okay, that's really strange
There is a way, but the "discovery" part happens before all machinery is ready to evaluate request/response
It would complicate a little bit the code, so I suggest you add some prn
commands and check what's happening on the socket...
(provided that you want to debug this issue, of course ;))
BTW, I'm installing Arcadia to check what's happening
thanks for the info -- may be you know already, but i think the port to connect to for the socket is by default 32770: https://github.com/arcadia-unity/Arcadia/wiki/REPL also, there is typically a configuration.edn file in Assets/Arcadia/ where one can override this port like this:
:socket-repl {:address "::"
:port 37228}
i do auto-detection of this port in some custom code for another editor inspired by your shadow-cljs socket repl port detection 😉I didn't know that 😉 I'm still installing Arcadia... my internet is really really slow today 😞
ah sorry to hear about the slow connection -- for some reason it has been slow for me recently too
There's an open issue (ideas) on github page to make some APIs public, like the connection, so people could implement their own "auto-detect ports" or even an "automatic connect" 🙂
ah, that sounds good -- i'll go look. btw, for jvm clojure, i learned about jcmd the other day. i guess it can list the pids of jvms -- so i thought one might use jcmd to find all jvm pids and then use something like netstat or lsof to find candidate ports to connect to. then an editor might show some possible ports to connect to. though i don't know quite how to do the port stuff on windows.
may be you were referring to this? https://github.com/mauricioszabo/atom-chlorine/issues/94
Yes, that one 🙂 There were also discussions on #88
reading #88 reminds me of the idea of project-specific settings
it would be nice if there were editor-independent ways to store such things
I am really considering the possibility to add somekind of "edn file with configurations" on some configurable path, to be honest. Maybe even add a view to configure the package, so it would bypass the Atom configuration settings' limitations
(but this is really low on priority, TBH)
very much interested in discussing such a file -- since i use multiple editors, it would be nice to have it work in more than one place
have also thought whether shadow-cljs' approach of a directory with separate files for different pieces of info might not be a bad idea
anyway, hope to talk about it more at some point 🙂
Well, if you have any ideas, sketch it and we can talk, maybe it's not that hard to implement something. Just out of curiosity, what do you mean by multiple editors? Multiple Atom instances?
no, sorry, i mean i use different editors altogether, atom, emacs, vim
Ah, ok 🙂
i'm failing to find the definition for inline/set-content! that is used here: https://github.com/mauricioszabo/atom-chlorine/blob/master/src/chlorine/socket_repl.cljs#L53 -- am i missing something obvious?
ah, i guess may be that's part of some stuff that's getting removed?
You just found a dead namespace 😄
chlorine.socket-repl
is not used anymore, I'll delete this file 🙂
ah thanks for the clarification :)
i put the following in a file (say "test"):
#?(:cljs :using-cljs-repl :clj :using-clj-repl :cljr :using-cljr-repl :joker :using-joker-repl :bb :using-bb-repl)
:using-unknown-repl
and did cat test | nc ::1 37220
here to test with arcadia (on some linuxes, clojure clr seems to like using ipv6 by default)
the evaluation result of the first form comes back ok, but not the second one
so may be there are timing issues?Yes, it can be. These "small issues" are kinda bad to deal with...
i'll bug the arcadia folks a bit about it