diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2026-09-25 10:22:17 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-25 10:22:17 -0400 |
| commit | afc3b94e5cad622501589e6daf072c59ae27601f (patch) | |
| tree | 84aab3da9d43f1d8d05362f15acca1e1e0970ddf /runtime/lua/vim/provider/python.lua | |
| parent | 9d881cc13fe478d928d7bb632ef7708b4317699c (diff) | |
| download | rneovim-afc3b94e5cad622501589e6daf072c59ae27601f.tar.gz rneovim-afc3b94e5cad622501589e6daf072c59ae27601f.tar.bz2 rneovim-afc3b94e5cad622501589e6daf072c59ae27601f.zip | |
fix(multicursor): unsynced primary-overlapping cursor #42089
Problem:
- The primary-overlapping cursor is synced to primary only after
cascade, so it may display at a shifted position (e.g. after "rx")
during cascade.
- LHS-replay edits apply twice if there is a primary-overlapping cursor.
Solution:
- Sync the primary-overlapping cursor _before_ replay. This ensures the
mark is correct _during_ the cascade.
- Drop the post-cascade sync; this is safe because the overlapping
mark and the primary-tracking mark are both right-gravity, so they
get shifted the same way.
- Set `origin` on LHS-replay atoms, so the cascade can compare it.
Bonus: a buffer-switching mapping no longer LHS-replays if it ends up in
a different buffer.
Diffstat (limited to 'runtime/lua/vim/provider/python.lua')
0 files changed, 0 insertions, 0 deletions