Fork me on GitHub

Have there been any recent developments related to CLJS repls? I’m specifically looking to connect to a figwheel-main repl in a deps.edn project, but general information would be good too.


Sadly no, sorry, I got sidetracked with other things. It’s still near the top of my to-do list.


Totally understood - no worries on my end, I was mostly wondering if I missed any news about it. Hopefully things are a little more stable on the Intellij side of things for the next little while.


i have some issues with loading .cljc files. if im trying to load one into a remote nREPL client, cmd-shift-l does nothing, but cmd-shift-p works and it uses the namespace of the cljc file too. if i start a local nREPL client in the same clojure deps project, i can evaluate the same cljc file. i've also noticed, when i start a Cursive nREPL client with the "Use port from nREPL file" option, then i try to edit that run configuration later, the Project field under the "Use port..." radio button goes back to [none] state and a little red x appears over the icon of the run configuration. (im on the latest 1.9.1-eap2-1-g33030cb3 cursive version, jdk8, intellij 2019.3.2)


im using a remote nREPL server to connect to a locally started gorilla nrepl server, btw

Adrian Smith20:01:32

If I import this project: how do I get the unresolved messages to go away?

Roman Liutikov20:01:09

I think there's no way to do it in Cursive

Roman Liutikov10:01:13

@U0567Q30W is there anything Cursive can do with this? Maybe use externs information to resolve JS methods and properties?

Roman Liutikov10:01:05

ClojureScript is already doing that to provide arglists and docs in REPL


Yes, I’m planning to improve this support, and also make the inspection much less shouty when it doesn’t work. There will always be a lot of cases where it’s basically impossible to tell what’s going on with JS.

Roman Liutikov10:01:47

I think type hints could help to resolve values in such cases?


Yes, and I’m planning to add type inference too.


I’m still debating whether to base the new support on the IntelliJ JS support or not. Obviously that is much more mature and complete than anything I will ever do, but it’s also only available in paid IDE editions.

Roman Liutikov10:01:54

I imagine it would be neat if Cursive’s JS resolution mechanism could work the same as ClojureScript’s externs inference, so unresolved highlighted expressions would actually point that an expression should by type hinted or manual externs should be provided.