pub type TextEditUndoer = Undoer<(CCursorRange, String)>;
Aliased Type§
struct TextEditUndoer {
settings: Settings,
undos: VecDeque<(CCursorRange, String)>,
redos: Vec<(CCursorRange, String)>,
flux: Option<Flux<(CCursorRange, String)>>,
}
Fields§
§settings: Settings
§undos: VecDeque<(CCursorRange, String)>
New undoes are added to the back. Two adjacent undo points are never equal. The latest undo point may (often) be the current state.
redos: Vec<(CCursorRange, String)>
Stores redos immediately after a sequence of undos.
Gets cleared every time the state changes.
Does not need to be a deque, because there can only be up to undos.len()
redos,
which is already limited to settings.max_undos
.
flux: Option<Flux<(CCursorRange, String)>>