diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2026-09-27 07:24:28 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-27 07:24:28 -0400 |
| commit | a835a3f1a09653a6b201dc08413b33a2b7c0db0a (patch) | |
| tree | f1b5a50a0e483108f88c9b8a03eb55ea88dde83a /runtime/lua/vim/provider/python.lua | |
| parent | 71f3a2ad6364c29a3a46fc99897a351c06969d60 (diff) | |
| download | rneovim-a835a3f1a09653a6b201dc08413b33a2b7c0db0a.tar.gz rneovim-a835a3f1a09653a6b201dc08413b33a2b7c0db0a.tar.bz2 rneovim-a835a3f1a09653a6b201dc08413b33a2b7c0db0a.zip | |
fix(multicursor): "gv" + Insert-entering cmd #42110
Problem:
- Multicursor does not cascade a `gv`-entered insert-session (`gvc`).
- CmdAtom of a `gv`-entered insert-session (e.g. `gvcX<Esc>`) has
`keys="1vcX<Esc>"` (redo's fallback), not the typed keys. And is not
emitted at all if multicursor is inactive.
Analysis:
Redo can't contain "gv", so it does the "1v" fallback, and the
insert-cascade replays redo.
Solution:
Replay "gv" + op at each cursor: store the typed selection in
`InsSession.vsel`; it supplants redo's "1v" in the emitted atom and in
the insert-cascade replay. A cursor without a Visual area skips
a "gv"-based replay (else its keys would run as Normal-mode: "gvrx" =>
"rx").
Redo behavior is unchanged ("1v" fallback): "gv" is absolute, "." acts
at the cursor.
Diffstat (limited to 'runtime/lua/vim/provider/python.lua')
0 files changed, 0 insertions, 0 deletions