This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-03-23
Channels
- # babashka (68)
- # beginners (133)
- # calva (5)
- # chlorine-clover (21)
- # cider (40)
- # clj-kondo (42)
- # cljs-dev (31)
- # clojure (53)
- # clojure-austin (1)
- # clojure-europe (30)
- # clojure-italy (6)
- # clojure-nl (3)
- # clojure-uk (104)
- # clojurescript (15)
- # datascript (2)
- # datomic (50)
- # emacs (12)
- # fulcro (82)
- # graalvm (4)
- # hoplon (225)
- # jobs (4)
- # jobs-discuss (7)
- # joker (5)
- # juxt (17)
- # kaocha (13)
- # leiningen (16)
- # meander (21)
- # nrepl (18)
- # off-topic (16)
- # pathom (8)
- # pedestal (13)
- # perun (1)
- # re-frame (4)
- # spacemacs (23)
- # testing (28)
- # unrepl (3)
- # vim (5)
- # xtdb (1)
For now I'm targeting node/lumo but eventually any javascript runtime with tcp should work. I got calva working with nrepl-cljs by pretending it was nashhorn.
I guess calva checks for a specific string before it trusts its actually a cljs nrepl server.
That's configurable, but yes, by default it waits for that string before it considers the connection complete.
We will need to modify Calva a bit to support this in a smooth way. And I am eager to do those modifications! 😃
I already pulled down the calva repo for debugging through the first problem. I'm down to pull down any test branches to see how it works :thumbsup:
Today Calva makes quite a big assumption that it is connectiong to a CLJ server. To create a sensible Ux we will need to remove that assumption. Which I think might be a pretty heavy rewrite. But also, it isn't all that much code, so should be within reach.
Here's a branch where I have started adding a generic project type. Still CLJ and all that, but anyway. I can connect smoothly to babashka's nrepl server at least. https://github.com/BetterThanTomorrow/calva/tree/wip/generic-project-type
Thinking about it.... It should be possible to connect to your CLJS repl there, using that branch. Calva will think it is a CLJ repl, but if the files are named as .cljc
it would work.
As for querying the language from the server, as @bozhidar says, there hasn't been a need for that yet. 😃 But even so, Calva can check the project files and ask the user.
@borkdude Feel free to also directly update the library. Probably it’s a good idea to retain compatibility with older Clojure releases, as there is still some usage of Clojure 1.7/1.8 in the wild.
I have an implementation here https://github.com/djblue/nrepl-cljs/blob/master/src/nrepl/bencode.cljs