Enum modalkit::env::mixed::MixedBindings
source · pub enum MixedBindings<K, I = EmptyInfo>{
Emacs(EmacsMachine<K, I>),
Vim(VimMachine<K, I>),
}
Expand description
Type for wrapping different keybindings in contexts where keybindings can be determined dynamically.
Variants§
Trait Implementations§
source§impl<K, I> BindingMachine<K, Action<I>, RepeatType, EditContext> for MixedBindings<K, I>where
K: InputKey,
I: ApplicationInfo,
InputStep<I>: Step<K, A = Action<I>, Sequence = RepeatType, State = EmacsState<I>>,
InputStep<I>: Step<K, A = Action<I>, Sequence = RepeatType, State = VimState<I>>,
impl<K, I> BindingMachine<K, Action<I>, RepeatType, EditContext> for MixedBindings<K, I>where
K: InputKey,
I: ApplicationInfo,
InputStep<I>: Step<K, A = Action<I>, Sequence = RepeatType, State = EmacsState<I>>,
InputStep<I>: Step<K, A = Action<I>, Sequence = RepeatType, State = VimState<I>>,
source§fn pop(&mut self) -> Option<(Action<I>, EditContext)>
fn pop(&mut self) -> Option<(Action<I>, EditContext)>
Fetch the next action produced by previously typed keys.
source§fn context(&mut self) -> EditContext
fn context(&mut self) -> EditContext
Get current output context after the most recent keypress.
source§fn show_dialog(&mut self, max_rows: usize, max_cols: usize) -> Vec<Cow<'_, str>>
fn show_dialog(&mut self, max_rows: usize, max_cols: usize) -> Vec<Cow<'_, str>>
Returns the message to display for the current interactive dialog, if there is one. Read more
source§fn show_mode(&self) -> Option<String>
fn show_mode(&self) -> Option<String>
Returns a user-friendly string to display for the current mode.
source§fn get_cursor_indicator(&self) -> Option<char>
fn get_cursor_indicator(&self) -> Option<char>
Returns a character to show for the cursor.
source§fn repeat(&mut self, rt: RepeatType, other: Option<EditContext>)
fn repeat(&mut self, rt: RepeatType, other: Option<EditContext>)
Repeat a recent sequence of tracked actions, and optionally override their original
contexts using InputState::merge. The repeated sequence will be inserted at
the beginning of the action queue, before any other pending actions. Read more
source§impl<I> From<MixedChoice> for MixedBindings<TerminalKey, I>where
I: ApplicationInfo,
impl<I> From<MixedChoice> for MixedBindings<TerminalKey, I>where
I: ApplicationInfo,
source§fn from(choice: MixedChoice) -> Self
fn from(choice: MixedChoice) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<K, I = EmptyInfo> !Freeze for MixedBindings<K, I>
impl<K, I = EmptyInfo> !RefUnwindSafe for MixedBindings<K, I>
impl<K, I = EmptyInfo> !Send for MixedBindings<K, I>
impl<K, I = EmptyInfo> !Sync for MixedBindings<K, I>
impl<K, I = EmptyInfo> !Unpin for MixedBindings<K, I>
impl<K, I = EmptyInfo> !UnwindSafe for MixedBindings<K, I>
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.