diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2026-09-11 13:09:18 +0200 |
|---|---|---|
| committer | Justin M. Keyes <justinkz@gmail.com> | 2026-09-11 13:53:21 +0200 |
| commit | dbbd67f2e554990dd1abf686ecbca2618686e1f8 (patch) | |
| tree | 988c33297fe2b10bc1d54ea826936a07a29a34ed /runtime/lua/vim/async | |
| parent | 3751112546951be6016b8087ef07606bb22dd6ff (diff) | |
| download | rneovim-dbbd67f2e554990dd1abf686ecbca2618686e1f8.tar.gz rneovim-dbbd67f2e554990dd1abf686ecbca2618686e1f8.tar.bz2 rneovim-dbbd67f2e554990dd1abf686ecbca2618686e1f8.zip | |
refactor(cmdatom): merge `curcmd` into root CmdFrame
Problem:
- `curcmd` has the lifetime of the root CmdFrame, but lives in its own
container with a reset (atom_redo_reset) that must mirror "toplevel
user command".
- `curcmd.follow` is also the wrong scope: the clock-edge is deferred
across a mapping's keys, each a toplevel command, so
`nnoremap <F1> 1q=j2q=` runs "j" in follow-mode, yet the edge reads
the trailing "2q=" and does not cascade the queued motion.
Solution:
- Eliminate `curcmd`. Use the root `CmdFrame` as the source of truth.
- Record follow-at-first-motion on `composite`, which spans exactly the
frames the deferred clock-edge closes.
Diffstat (limited to 'runtime/lua/vim/async')
0 files changed, 0 insertions, 0 deletions