diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2026-08-20 05:18:36 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-08-20 05:18:36 -0400 |
| commit | 31de0d69fc745b342352f04a03cbcb90211c4edc (patch) | |
| tree | 37db2481f524d98112be36e21cc074122111460f /runtime/lua/vim/range.lua | |
| parent | bcf116cc2f2f59e6c0f5ce5a644f832476f77384 (diff) | |
| download | rneovim-31de0d69fc745b342352f04a03cbcb90211c4edc.tar.gz rneovim-31de0d69fc745b342352f04a03cbcb90211c4edc.tar.bz2 rneovim-31de0d69fc745b342352f04a03cbcb90211c4edc.zip | |
fix(cmdatom): lhs not always reported in CmdAtom #41386
Problem:
An unreplayable Visual operation does not emit a CmdAtom event. That's
maybe not super important, but it hints at a flaw in how `vatom`
"voiding" is plumbed: `vatom.state=kVatomVoid` replaces the "kind", so
that info is lost to later parts in the lifecycle.
Solution:
- Define `VatomState` as "flags", so `kVatomVoid` can "poison"
`vatom.state` without losing its kind flag.
- Unify `lhs`: always report the original user input in `CmdAtom.lhs`,
for all kinds of user actions: visual, "translated"/"stuffed" cmds,
and dot-repeat (".") itself.
- Unreplayable Visual atom emits CmdAtom with non-empty `lhs` and empty
`keys`, like a mapping/macro composite.
Diffstat (limited to 'runtime/lua/vim/range.lua')
0 files changed, 0 insertions, 0 deletions