diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2026-08-18 07:50:27 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-08-18 07:50:27 -0400 |
| commit | f6bf814378c6e51aeecb8333040a78666b543392 (patch) | |
| tree | b7b518887819867b671784008428c4bb893014d5 /runtime/lua/vim/range.lua | |
| parent | c5ea9ca2ad9e519ac662bd3e0846610264bf6e72 (diff) | |
| download | rneovim-f6bf814378c6e51aeecb8333040a78666b543392.tar.gz rneovim-f6bf814378c6e51aeecb8333040a78666b543392.tar.bz2 rneovim-f6bf814378c6e51aeecb8333040a78666b543392.zip | |
fixfix(cmdatom): repeat Visual <Cmd>; CmdFrame + stage #41355
Problem:
- Dot-repeat of a Visual selection prepared by a `<Cmd>` mapping,
results in E1255 and leaves Visual mode active.
- Visual-mode capture is implemented as a second, parallel "capture
engine": it re-composes a CmdSpec from cmdarg_T per key and decides
replayability from its own table of "void" key classes.
Solution:
- Model nested `normal_execute()` as a `CmdFrame` stack,
instead of a single module-scoped `stage`.
- Capture `<Cmd>` ":norm …" commands as subatoms from its nested frames.
- Produce every command exactly once; atom_push_raw() routes the atom to
the Visual composite while a selection is open, like it already does
for mapping composites.
- `v/pat<CR>d` is now repeatable and cascades.
Diffstat (limited to 'runtime/lua/vim/range.lua')
0 files changed, 0 insertions, 0 deletions