This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-07-02
Channels
- # announcements (9)
- # asami (5)
- # babashka (16)
- # beginners (134)
- # chlorine-clover (3)
- # cider (15)
- # clojure (75)
- # clojure-australia (3)
- # clojure-europe (29)
- # clojure-nl (2)
- # clojure-uk (15)
- # clojured (4)
- # clojurescript (34)
- # cursive (9)
- # datomic (16)
- # duct (7)
- # events (4)
- # fulcro (2)
- # helix (5)
- # honeysql (4)
- # jobs (9)
- # lsp (55)
- # malli (31)
- # music (3)
- # re-frame (3)
- # reitit (1)
- # remote-jobs (1)
- # ring (3)
- # sci (5)
- # shadow-cljs (46)
- # specter (3)
- # tools-deps (60)
- # vim (5)
- # xtdb (15)
Hey @cfleming , related to Code With Me and Code Together: not sure if you thought of this or not, but both of those have the ability to share the terminal window on the network. I know it would not be terribly feature-rich, but if it is relatively easy to send stuff from the editor to a terminal, that might be a good way to use a REPL running in a terminal as an 80% soln for pairing.
I would be really happy with such a "fallback" solution too! It would similar to what https://github.com/clojure-emacs/inf-clojure does.
Such an "escape hatch" would also allow running REPLs in custom ways. For example, I just wanted to provide some JVM properties to the remote nREPL client Cursive would start, but such option is only available for local REPL run configs. More specifically, I wanted the REPL client to go through a SOCKS5 proxy, so I can connect to Datomic Cloud ion server:
clj -J-DsocksProxyHost=localhost -J-DsocksProxyPort=8182 -M:nREPL:client --host entry.datomic-cloud-system-name.ap-
--port 3001
This way, I would only need to do an ssh -D 8182 ec2-user@datomic-cloud-bastion
and don't worry about tunnelling individual ports.
Another use-case would be to specify the NREPL_CONFIG_DIR
(https://nrepl.org/nrepl/0.8/usage/server.html#server-options), so we can configure the nREPL client in different ways, BUT the remote REPL config doesn't have the environment config option either.In fact, I've created a GH issue about this: https://github.com/cursive-ide/cursive/issues/2565
@U0CKQ19AQ Interesting idea, and that might work well. I’d have to think about what it even means to have a REPL open on the terminal, since Cursive wouldn’t be starting the REPL at that point. I’m not sure how the user would indicate “I now have a REPL open in my terminal and I want all REPL commands to go there”.
@U086D6TBN I’ll look at that too - I suspect the issue would be that Cursive doesn’t actually start a new process for the remote REPL client but runs it in-process (IIRC). However I may be able to pass that config directly to nREPL in that case.
Seems like send form to terminal would be sufficient...no matter what is running there. Just a new command altogether
Maybe a new output option for REPL commands, then you could build the commands you needed.
Actually, apparently the latest EAP has support for using Code With Me with custom toolwindows like the REPL. I’ll add that and hopefully it’ll work!
In fact, I've created a GH issue about this: https://github.com/cursive-ide/cursive/issues/2565