pub enum EditCommandKind {
Show 49 variants
InsertChar,
InsertBlock,
InsertBlockForced,
InsertTab,
NavigateTableCell,
NavigateTableCellDown,
ExitList,
ExitFrame,
ToggleBlockquote,
IncreaseBlockquoteDepth,
DecreaseBlockquoteDepth,
DeletePrev,
DeleteNext,
DeleteWordLeft,
DeleteWordRight,
IndentBlock,
DedentBlock,
ToggleBold,
ToggleItalic,
ToggleUnderline,
Undo,
Redo,
MoveLeft,
MoveRight,
MoveUp,
MoveDown,
MoveWordLeft,
MoveWordRight,
MoveHome,
MoveEnd,
MoveDocStart,
MoveDocEnd,
PageUp,
PageDown,
SelectLeft,
SelectRight,
SelectUp,
SelectDown,
SelectWordLeft,
SelectWordRight,
SelectHome,
SelectEnd,
SelectDocStart,
SelectDocEnd,
SelectAll,
Copy,
Cut,
Paste,
PasteUnformatted,
}Expand description
Commands the keyboard handler may emit. Editing commands map to
TextCursor mutations; navigation commands are always accepted.
Variants§
InsertChar
InsertBlock
InsertBlockForced
Explicit block-insert, bypassing any Enter-in-table-cell
navigation (Ctrl+Enter). Separate from InsertBlock so an
app that wants only one of the two behaviours can gate them
independently through the CommandFilter.
InsertTab
Literal tab insertion (Tab key outside tables and lists).
Navigate to an adjacent table cell (Tab / Shift+Tab when the caret is inside a table).
Enter inside a table cell: navigate to the cell below (or step out of the table on the last row).
ExitList
Exit a list item (Backspace at block-start, indent 0).
ExitFrame
Pop the cursor out of the innermost enclosing blockquote frame (Backspace at the first position of the first quoted block; Enter on an empty quoted paragraph; Delete at the last position of the last quoted block).
ToggleBlockquote
Wrap the current block (or selection) in a blockquote, or unwrap if already inside one. Toolbar / Ctrl+Shift+Q.
IncreaseBlockquoteDepth
Tab inside a blockquote (no list active) to nest deeper.
DecreaseBlockquoteDepth
Shift+Tab inside a blockquote (no list active) to nest shallower.
DeletePrev
DeleteNext
DeleteWordLeft
DeleteWordRight
IndentBlock
DedentBlock
ToggleBold
ToggleItalic
ToggleUnderline
Undo
Redo
MoveLeft
MoveRight
MoveUp
MoveDown
MoveWordLeft
MoveWordRight
MoveHome
MoveEnd
MoveDocStart
MoveDocEnd
PageUp
PageDown
SelectLeft
SelectRight
SelectUp
SelectDown
SelectWordLeft
SelectWordRight
SelectHome
SelectEnd
SelectDocStart
SelectDocEnd
SelectAll
Copy
Cut
Paste
PasteUnformatted
Paste as plain text — strips any rich fragment or HTML payload
and inserts only the plain-text portion. Bound to Ctrl+Shift+V
(⌘⇧V on macOS). Distinct from Paste so the
command filter and ClipboardPolicy can gate it independently
(e.g. a future “no-paste” preset could still allow explicit
plain-text pasting).
Trait Implementations§
Source§impl Clone for EditCommandKind
impl Clone for EditCommandKind
Source§fn clone(&self) -> EditCommandKind
fn clone(&self) -> EditCommandKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for EditCommandKind
Source§impl Debug for EditCommandKind
impl Debug for EditCommandKind
impl Eq for EditCommandKind
Source§impl PartialEq for EditCommandKind
impl PartialEq for EditCommandKind
Source§fn eq(&self, other: &EditCommandKind) -> bool
fn eq(&self, other: &EditCommandKind) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for EditCommandKind
Auto Trait Implementations§
impl Freeze for EditCommandKind
impl RefUnwindSafe for EditCommandKind
impl Send for EditCommandKind
impl Sync for EditCommandKind
impl Unpin for EditCommandKind
impl UnsafeUnpin for EditCommandKind
impl UnwindSafe for EditCommandKind
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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