pub struct UndoState {
pub history: Vec<UndoEntry>,
pub current: usize,
pub limit: usize,
pub recording: bool,
pub merge_inserts: bool,
}Expand description
Undo state
Fields§
§history: Vec<UndoEntry>Undo history
current: usizeCurrent position in undo history
limit: usizeUndo limit (where to stop)
recording: boolWhether changes are being recorded
merge_inserts: boolMerge sequential inserts
Implementations§
Source§impl UndoState
impl UndoState
pub fn new() -> Self
Sourcepub fn make_entry(
&mut self,
start: usize,
end: usize,
text: ZleString,
cursor: usize,
)
pub fn make_entry( &mut self, start: usize, end: usize, text: ZleString, cursor: usize, )
Create an undo entry Port of mkundoent() from zle_utils.c
Sourcepub fn split(&mut self)
pub fn split(&mut self)
Split undo (start a new undo group) Port of splitundo() from zle_utils.c
Sourcepub fn get_current(&self) -> Option<&UndoEntry>
pub fn get_current(&self) -> Option<&UndoEntry>
Get current change Port of get_undo_current_change() from zle_utils.c
Trait Implementations§
Auto Trait Implementations§
impl Freeze for UndoState
impl RefUnwindSafe for UndoState
impl Send for UndoState
impl Sync for UndoState
impl Unpin for UndoState
impl UnsafeUnpin for UndoState
impl UnwindSafe for UndoState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more