cursive

Issues at: https://git.io/cursive-issues
2021-07-02T01:04:34.140Z

I deleted the .idea folder and reimported the pom. Things seem to be operating normally now. Thanks all!

2🎉
imre 2021-07-02T07:41:11.140200Z

you can try resolving ?> as clojure.core/-> as described at https://cursive-ide.com/userguide/macros.html#customising-symbol-resolution

greg 2021-07-02T14:17:34.140700Z

Right, I forgot about this feature. Thanks. I will do it next time. Strange thing is that today I opened the IDE and these macros are no longer highlighted as yesterday. The highlighting works as I would expect (I wrote some incorrect forms to validate it). And these macros (?>, ?>>) are not added in the 'Symbol Resolution' mapping in the Preferences. How to explain that? Is the Cursive resolving macros to figure out correct highlighting?

imre 2021-07-02T16:30:04.141100Z

Not sure about that. Perhaps Cursive already knows about those specific macros just failed to look them up yesterday? Only Colin could answer that I suppose

tony.kay 2021-07-02T19:52:54.143500Z

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.

1đź‘Ť
onetom 2021-07-05T04:45:22.143800Z

I would be really happy with such a "fallback" solution too! It would similar to what https://github.com/clojure-emacs/inf-clojure does.

onetom 2021-07-05T04:54:17.144100Z

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-
<http://southeast-1.datomic.net|southeast-1.datomic.net> --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.

cfleming 2021-07-06T01:05:42.144700Z

@tony.kay 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”.

cfleming 2021-07-06T01:06:44.144900Z

@onetom 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.

1đź‘Ť
tony.kay 2021-07-06T05:26:07.146200Z

Seems like send form to terminal would be sufficient...no matter what is running there. Just a new command altogether

cfleming 2021-07-06T08:49:40.146400Z

Maybe a new output option for REPL commands, then you could build the commands you needed.