Open CosineP opened 3 months ago
I'm seeing the same, but on my desktop machine as well, so I would not say it's related to "less powerful" machines.
For me, a good reproducer is opening a file and keep pressing j
. As soon as the cursor hits the bottom line of the viewport, scrolling slows down and the cursor jumps around in circles due to the race condition. It's quite annoying.
If I'm not mistaken, this code currently implements j
:
Perhaps it would be better to maintain a globally coherent array of selections that is asynchronously updated with diffs.
I think that's what VSCodeVim does. At least they are using cursorMove
commands to update the cursor position with a diff rather than with an updated position:
Hi folks -
First of all, I want to thank you all for allowing me to use VSCode! I have long been hopelessly kakoune-pilled, and when I last tried VSCode there was no useful kakoune extension, so this is a huge win.
Here is the problem I am having: if my laptop gets below 20% (and tlp throttles my CPU), when I issue a bunch of commands they will occur in a fairly random order. The result is that I have to wait for the editor to respond after each keypress before I can press the next one if I want a consistent result.
Here's an easy way to reproduce: put your cursor at the beginning of a long line. Hold "e". If your cursor repeat is fast enough and your computer isn't a supercomputer, then your cursor jumps around to various ends of words, ending up at the end of a random word. (This happens to me even at full charge.)
If you allow me to bloviate for a moment, I can only assume this is because the handler for each keypress is issued asynchronously, but the effects are not await-ed before the next keypress is handled.
This is breaking for me when my laptop is under 20%, but over 20% usually the keypresses issue quickly enough to not matter. Current workaround is keep my laptop charged, because I really like this extension, but I still see races sometimes when I type really quickly. Fixing this would also allow dance to work on less powerful machines.