Fork me on GitHub
#parinfer
<
2019-01-02
>
eraserhd15:01:25

@shaunlebron I've been working on getting a decent change API into Kakoune, see here and the linked tickets: https://github.com/mawww/kakoune/pull/2673

eraserhd15:01:20

Kakoune wants to do it by exposing the entire undo tree for the buffer (and uncommitted changes, which happens in insert mode before <esc>)

eraserhd15:01:05

It will still require some edge-case tracking for parinfer, but it will work AFAICT.

eraserhd15:01:43

The edge-cases are jumping around in the undo tree and when uncommited modifications that we've processed are committed.

shaunlebron18:01:41

interesting, i was thinking that parinfer should not run navigating history

shaunlebron18:01:33

but instead that parinfer’s post-processed results after each change would be the state committed to the history tree, ideally

eraserhd19:01:43

Yeah, this is true. It would involve a hook after change and before commit, which doesn't exist.

eraserhd19:01:57

I've got nothing to lose to propose that, and it might not be hard now that I think of it.

eraserhd15:01:03

One thing to note is that Kakoune uses diffing itself when an external tool updates the buffer. But not for normal edits.

shaunlebron18:01:13

this makes sense, no way around that