Experimental modal text editor built for extensibility and flexibility

feat(runtime): undo/redo (multi-aware) #3

Open amartin.beer
Open opened by amartin.beer

Summary #

Undo/redo (u / Ctrl-R or maybe better ergonomic default bindings? Not a big fan of Vim's Ctrl-R at all). Does not exist yet anywhere.

Requirement #

Must be multi-aware: edits batch across cursors (insert-all/backspace-all/delete-all), and multibuffer edits route into source buffers via with-buffer + remap-excerpts. Undo must replay across all affected cursors and buffers coherently, and excerpt range remaps must be reversible.

Proposed approach #

History of edit ops (buffer id + range + replacement) grouped per user action; redo as the inverse. Integrate with the multibuffer edit path.

Scope / notes #

Foundational; coordinate with per-cursor selections. I would love to make some sort of graphical undotree and make it persistent instead of live solely in-memory

Sign up or Sign in to add to the discussion.