Skip to main content

Module rope_buffer

Module rope_buffer 

Source
Expand description

The edit buffer over ropetext, presenting the surface the rest of the editor already calls.

This exists so the engine swap does not have to happen everywhere at once. It keeps every method name and (row, col) signature the TextArea-backed buffer had, so vim.rs, find_bar.rs and the component compiled against it unchanged. A differential proptest held it to the incumbent’s behaviour operation by operation until the migration landed; it found seven real defects, three of them kimün’s own, and was removed with the dependency it needed.

Nothing here mirrors the text into a second representation. Callers that want rows ask for them (RopeBuffer::rows) and pay for them there; the buffer keeps one copy of the note and no derived copy in step with it.

Structs§

EditOutcome
What one call to RopeBuffer::edit did, measured rather than predicted.
RopeBuffer
The open note’s text, cursor, selection and history.

Enums§

CursorMove
A cursor movement, in the vocabulary the editor already speaks.