Looks promising, is there an enumeration of the editor capabilities required for Smart Mode or elastic tab stops? I suspect "nature of changes" goes beyond a stream of diff patches. It seems that having a solid use-case in parinfer, could spur implementation of those capabilities in the big 4 or 5 editors. It would also be nice to know where or how any editor falls short.
1. synchronous notification of a change 2. a change structure describing what has been replaced in the file 3. ability to modify the file immediately after the change has occurred
diffing the before and after text can produce an accurate change structure sometimes (maybe most of the time)
thanks for that feedback, the vscode team has apparently been receptive to requests for API improvements—specifically chris told me that interceptions of key events was requested for the vim plugin (and that they’re the only ones allowed to use it!)
the limitation is enforced by only allowing one plugin at a time to use it
anyway, I think the problem with vscode was that the change events are asynchronous, and that the pending PR is having to use diffs to account for the shortcoming, which I’m not comfortable using
@chrisoakman has more context
Shaun accurately summarized the current state of VS Code Parinfer
I have been meaning to reach out to the VS Code team and ask if they can make a change for the Parinfer extension similar to what they did for the Vim one.
would that mean that you couldn't use the vim and parinfer extensions in vscode simultaneously?
they already seem to have some issues, but
We would definitely want to support using both extensions at the same time. They would need to play nice with each other in terms of "who gets the update first?". This is exactly the issue that the VSCode team might need to give us some input on. Last I looked at this I think I was referencing this comment: https://github.com/Microsoft/vscode/issues/5280#issuecomment-246629457