Discussion about all editors used for Clojure/ClojureScript
bozhidar 2018-05-06T17:25:20.000045Z

@pez @dominicm The debugger is not complex and is pretty well documented, btw. http://cider.readthedocs.io/en/latest/debugging/#internal-details

bozhidar 2018-05-06T17:25:41.000052Z

As is what needs to be done for it to work with ClojureScript https://github.com/clojure-emacs/cider/issues/1416

bozhidar 2018-05-06T17:26:19.000074Z

Unfortunately this required significantly better knowledge of cljs than me or Artur have, so we hoped someone else would tackle this eventually.

dominicm 2018-05-06T17:26:26.000006Z

The protocol information was what overwhelmed me. It didn't seem to work like other middleware.

bozhidar 2018-05-06T17:27:32.000049Z

You mean track-state? That’s pretty simple when you look at it. Just some ns info that we push back to the clients so they won’t have do a crazy amount of requests.

bozhidar 2018-05-06T17:28:19.000064Z

Eventually we found some other good uses for this data - e.g. it sped up a lot dynamic font-locking and dynamic indentation as the client didn’t have to ask for the data anymore. It would just be automatically synced after each eval-like op.

dominicm 2018-05-06T17:28:53.000032Z

There seemed to be some single letter information used for the debugger.

dominicm 2018-05-06T17:29:31.000045Z

I want to look into that, as sometimes opening a file can take a half second.

bozhidar 2018-05-06T17:31:28.000014Z

I think the single letter commands you refer to exist mostly for the client, obviously they could be whatever. Don’t remember all the details, though - haven’t worked on it for a long time and it was always Artur who did most of the work. I recall he re-wrote the debugger 2 times from scratch as he came up with better and better ideas.

bozhidar 2018-05-06T17:33:33.000050Z

Anyways, I actually dropped by to share with other tool maintainers that orchard’s first release is out https://github.com/clojure-emacs/orchard I’d love to get some feedback and more people involved here, so we can make some truly useful foundational library for Clojure dev tools. 🙂 We’ve got a long way to go, but at least we made the first step.