Open Zalastax opened 6 years ago
They're running into a lot of issues with the interaction between their undo stuff and vscode's built in stack. They have a tag area/undo
now, including the thread I initially saw from them. I'm reaching out to ask them what sorts of APIs they'd need to do what they want to do, ideally we can get a dialog going.
The issue I see arising is that they're going to try to exactly replicate the functionality of VIM, which may or may not diverge from what we want to do by default. Working under the assumption that we want to be merged back into VSCode proper, we want to err on the side of familiarity UI wise. I think a robust API so they can override our default behavior if need be is the way to go forward. Long term, I wouldn't be opposed to some kind of mode switch in settings, but if we can talk to them about exactly what an API would look like, that'd be preferable.
I'm going to read through their current undo implementation to understand how their implementation differs from vscode's or ours in terms of functionality. I'll come up with a spec for what I think our API needs to look like to support them.
I still need to sit down and grok your code, I should be able to do that next week. To be clear, the API we're expecting people to use is the public methods on editStack.ts, right?
For reference, https://github.com/VSCodeVim/Vim/issues/1490
To be clear, the API we're expecting people to use is the public methods on editStack.ts, right?
Yes, and they are exposed in src/vs/editor/common/editorCommon.ts
, so that's the actual public API. I expect the current API to be low-level enough for VSCodeVim :)
Is there anything more needed in the API for this to work with VSCodeVim @chuckdries?