pub struct VimState<I: ApplicationInfo = EmptyInfo> { /* private fields */ }Expand description
This wraps both action specific context, and persistent context.
Trait Implementations§
Source§impl<I: ApplicationInfo> Clone for VimState<I>
impl<I: ApplicationInfo> Clone for VimState<I>
Source§impl<I: ApplicationInfo> Default for VimState<I>
impl<I: ApplicationInfo> Default for VimState<I>
Source§impl<I: ApplicationInfo> From<VimState<I>> for EditContext
impl<I: ApplicationInfo> From<VimState<I>> for EditContext
Source§impl<I: ApplicationInfo> InputKeyState<TerminalKey, CommonKeyClass> for VimState<I>
impl<I: ApplicationInfo> InputKeyState<TerminalKey, CommonKeyClass> for VimState<I>
Source§fn event(
&mut self,
ev: &EdgeEvent<TerminalKey, CommonKeyClass>,
ke: &TerminalKey,
)
fn event( &mut self, ev: &EdgeEvent<TerminalKey, CommonKeyClass>, ke: &TerminalKey, )
Update the context as needed after a
Key has matched an EdgeEvent.Source§fn get_cursor_indicator(&self) -> Option<char>
fn get_cursor_indicator(&self) -> Option<char>
Return a character to show at the current cursor position.
Source§impl<I: ApplicationInfo> InputState for VimState<I>
impl<I: ApplicationInfo> InputState for VimState<I>
Source§type Output = EditContext
type Output = EditContext
The output context type returned along with actions.
Source§fn merge(original: EditContext, overrides: &EditContext) -> EditContext
fn merge(original: EditContext, overrides: &EditContext) -> EditContext
Copy any overriding values into an
Output object.Source§impl<I: ApplicationInfo> ModeKeys<TerminalKey, Action<I>, VimState<I>> for VimMode
impl<I: ApplicationInfo> ModeKeys<TerminalKey, Action<I>, VimState<I>> for VimMode
Source§impl<I: ApplicationInfo> ModeSequence<RepeatType, Action<I>, VimState<I>> for VimMode
impl<I: ApplicationInfo> ModeSequence<RepeatType, Action<I>, VimState<I>> for VimMode
Source§fn sequences(
&self,
action: &Action<I>,
ctx: &EditContext,
) -> Vec<(RepeatType, SequenceStatus)>
fn sequences( &self, action: &Action<I>, ctx: &EditContext, ) -> Vec<(RepeatType, SequenceStatus)>
Controls how and what gets included in the sequences of actions tracked by
ModalMachine. When implementing, if there are actions that trigger calls to
BindingMachine::repeat, be careful that they do not get included in a way that can
create cycles. Read more
impl<I: Eq + ApplicationInfo> Eq for VimState<I>
impl<I: ApplicationInfo> StructuralPartialEq for VimState<I>
Auto Trait Implementations§
impl<I> Freeze for VimState<I>
impl<I> RefUnwindSafe for VimState<I>where
I: RefUnwindSafe,
impl<I> Send for VimState<I>where
I: Send,
impl<I> Sync for VimState<I>where
I: Sync,
impl<I> Unpin for VimState<I>where
I: Unpin,
impl<I> UnwindSafe for VimState<I>where
I: UnwindSafe,
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