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() -> UndoState
Sourcepub fn make_entry(
&mut self,
start: usize,
end: usize,
text: Vec<char>,
cursor: usize,
)
pub fn make_entry( &mut self, start: usize, end: usize, text: Vec<char>, 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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
Convert this type into
T, using the provided data to resolve any offsets.