diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2026-08-28 18:46:03 +0200 |
|---|---|---|
| committer | Justin M. Keyes <justinkz@gmail.com> | 2026-08-29 01:06:26 +0200 |
| commit | 2514256d95d7161ec55e8e54c01f667a1551809c (patch) | |
| tree | 3cb09692122883b1bae17093315674dda6e391b3 /runtime/syntax/python.vim | |
| parent | 61958f233584b0c75f6dbc650d6b1d3c01096404 (diff) | |
| download | rneovim-2514256d95d7161ec55e8e54c01f667a1551809c.tar.gz rneovim-2514256d95d7161ec55e8e54c01f667a1551809c.tar.bz2 rneovim-2514256d95d7161ec55e8e54c01f667a1551809c.zip | |
refactor(input): exec stuffed keys eagerly
Problem:
The Vim "stuff" concept breaks the ability to reason about the call
stack and thus the boundaries of a `CmdAtom`: a stuffed translation ("x"
=> "dl") defers to the main loop. This "continuation" must be modeled in
`CmdAtom`, by checking global flags at undefined times, during undefined
circumstances.
Solution:
- After a stuffed "translation", eagerly execute the stuff buffer
(`exec_stuffed()`).
- Delete the CmdAtom "continuation" junk.
Note:
- op_colon runs its cmdline "nested", but that's fine because operators
already nest interactive sessions there (op_change runs edit()), and
the cmdline is frameless so the operator's frame can own/capture it.
Diffstat (limited to 'runtime/syntax/python.vim')
0 files changed, 0 insertions, 0 deletions