Enum LineSignal
pub enum LineSignal {
Enter {
split_at: usize,
},
SoftNewline {
split_at: usize,
},
BackspaceAtStart,
ArrowUp,
ArrowDown,
SelectBlockUp {
caret: usize,
},
SelectBlockDown {
caret: usize,
},
LinkOpen {
open_at: usize,
},
}Expand description
Emitted when a key would carry the edit out of the line itself; the
parent (a BlockEditor) drains these via RichTextLine::take_signal.
Variants§
Enter
Parent splits the line at split_at, drops the suffix into a new
block, and re-focuses.
SoftNewline
Same as Enter, but the new block is flagged a soft-break
continuation (no top spacing, reads as one paragraph).
BackspaceAtStart
Caret was at byte 0 with no selection; parent decides whether to merge with the previous block, delete an empty block, or no-op.
ArrowUp
ArrowDown
SelectBlockUp
Ctrl+Shift+Up: parent extends the selection up across the block
boundary from caret, instead of moving focus.
SelectBlockDown
Mirror of SelectBlockUp extending down.
LinkOpen
User typed [[; parent opens a LinkPopover anchored at
open_at. Brackets fall through to the inner input — the popover’s
commit-link logic strips them.
Trait Implementations§
§impl Clone for LineSignal
impl Clone for LineSignal
§fn clone(&self) -> LineSignal
fn clone(&self) -> LineSignal
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for LineSignal
impl Debug for LineSignal
§impl PartialEq for LineSignal
impl PartialEq for LineSignal
impl Eq for LineSignal
impl StructuralPartialEq for LineSignal
Auto Trait Implementations§
impl Freeze for LineSignal
impl RefUnwindSafe for LineSignal
impl Send for LineSignal
impl Sync for LineSignal
impl Unpin for LineSignal
impl UnsafeUnpin for LineSignal
impl UnwindSafe for LineSignal
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
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
key and return true if they are equal.§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<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