Fork me on GitHub
#editors
<
2018-05-06
>
bozhidar17:05:20

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

bozhidar17:05:41

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

bozhidar17:05:19

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

dominicm17:05:26

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

bozhidar17:05:32

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.

bozhidar17:05:19

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.

metal 4
dominicm17:05:53

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

dominicm17:05:31

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

bozhidar17:05:28

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.

bozhidar17:05:33

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.

parrot 16