Expand description
The headless engine behind git queue tui.
The engine owns the editing state of the current queue line — the ordered
commit sequence (front/oldest → tip) and the branch boundaries over it —
and (in later tickets) the undo/redo stack and the operations that mutate
git. It is deliberately headless: it touches git/meta but never the
terminal, so the interactive view sits in front of it and tests drive it
in-process (via lib.rs) instead of spawning the binary.
This ticket is the scaffold: load the current line into the model and guard
the entry conditions. The operations-as-data type is defined even where its
variants are not yet applied — later tickets fill in apply.
Structs§
- Boundary
- A branch boundary over the commit sequence.
- Commit
- One commit of the loaded queue line.
- Editable
Line - The loaded queue line: the commit sequence and the boundaries over it.
- Engine
- The headless editing engine over the current queue line.
- Split
Line - One display line of the split selector. Selectable lines (
Added/Removed) carry a densechange_indexused to express the selection.
Enums§
- Applied
- The outcome of applying an operation.
- Operation
- An edit expressed as data.
- Row
- A row of the queue pane, indexing back into an
EditableLine. - Split
Kind - The kind of a line in the split selector’s rendering of a commit’s diff.