aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax/python.vim
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2026-08-28 18:46:03 +0200
committerJustin M. Keyes <justinkz@gmail.com>2026-08-29 01:06:26 +0200
commit2514256d95d7161ec55e8e54c01f667a1551809c (patch)
tree3cb09692122883b1bae17093315674dda6e391b3 /runtime/syntax/python.vim
parent61958f233584b0c75f6dbc650d6b1d3c01096404 (diff)
downloadrneovim-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