Skip to main content

EditorPatch

Enum EditorPatch 

Source
pub enum EditorPatch {
    SetDocument(StyledText),
    SetAttributes(StyledText),
    SetSelection(Range<usize>),
    SetTypingStyle(RunStyle),
    SetEditable(bool),
    Insert {
        at: usize,
        text: String,
    },
}

Variants§

§

SetDocument(StyledText)

Replace both the text and its attributes. Moves the caret, so it is sent only when the text itself changed under the app’s hand.

§

SetAttributes(StyledText)

Restyle text the native view already holds, preserving the selection and the undo stack.

The patch a live syntax highlighter sends on every keystroke: re-tokenizing produces fresh runs for the same characters, and pushing them as a document would move the caret back to wherever the app last set it.

It carries the whole document even though only the attributes are new. The text is what an arm converts byte ranges against, and the four whose toolkit cannot hand back its own string cheaply (Qt, Android, HarmonyOS, XAML) would otherwise each need a cache that a keystroke could leave one edit stale.

§

SetSelection(Range<usize>)

§

SetTypingStyle(RunStyle)

What the next typed character takes. Native where the toolkit has the concept, emulated on GTK and the web, which do not.

§

SetEditable(bool)

§

Insert

Insert text at byte offset at through the view’s own insertion, so the platform’s undo stack records it like typing and the caret lands after it. The view reports the result as a TextChanged, which is how the model learns of it; nothing is written to the document here. What the piece’s code mode sends for a Tab, an auto-indent and a closing bracket.

Fields

§text: String

Trait Implementations§

Source§

impl Clone for EditorPatch

Source§

fn clone(&self) -> EditorPatch

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EditorPatch

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for EditorPatch

Source§

fn eq(&self, other: &EditorPatch) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for EditorPatch

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> AnyEq for T
where T: Any + PartialEq,

§

fn equals(&self, other: &(dyn Any + 'static)) -> bool

§

fn as_any(&self) -> &(dyn Any + 'static)

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> IntoReactive<T, StaticMark> for T
where T: Clone + 'static,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.