Fork me on GitHub
#parinfer
<
2018-05-02
>
shaunlebron04:05:12

@doglooksgood is there a need for it still? are you using parinfer-rust?

tianshu05:05:11

not yet, but I want to use it. until there's changes, some issues can be fixed.

shaunlebron15:05:09

can you elaborate on this

tianshu11:05:01

yes,i will post on the issue

cfleming08:05:05

@shaunlebron @doglooksgood FWIW I’m finding the edits a source of hard-to-fix bugs. I’m planning to move to a model which returns changed lines instead of all the individual edits. This should be easier since parinfer is quite line-based.

eraserhd11:05:56

This will mess up smart mode, won't it?

shaunlebron15:05:24

@eraserhd you’re mixing up input changes with output changes I think

shaunlebron15:05:19

input changes need to be exact to infer the right output changes

shaunlebron15:05:22

unless the output changes themselves become detected as input changes

eraserhd15:05:10

Ahh.. Yeah, I didn't understand what Colin was saying.

cfleming21:05:19

@eraserhd Right, Cursive’s implementation doesn’t split the input into lines, and instead of returning another whole document returns just the edits to the original document. This greatly reduces GC pressure and is much more efficient (in IntelliJ, at least, and I’m pretty sure most editors)

cfleming21:05:25

But the implementation is tricky and it makes some things (like cursor holding) hard to implement. I’ve had a lot of edge case bugs as a result.

eraserhd23:05:21

So, I have parinfer-rust building and running with WebAssembly. The wasm tools for Rust aren't quite sorted out, so it was rough. But not sure what to do next.