Skip to main content

DocumentEvent

Enum DocumentEvent 

Source
pub enum DocumentEvent {
    ContentsChanged {
        position: usize,
        chars_removed: usize,
        chars_added: usize,
        blocks_affected: usize,
    },
    FormatChanged {
        position: usize,
        length: usize,
    },
    BlockCountChanged(usize),
    DocumentReset,
    UndoRedoChanged {
        can_undo: bool,
        can_redo: bool,
    },
    ModificationChanged(bool),
    LongOperationProgress {
        operation_id: String,
        percent: f64,
        message: String,
    },
    LongOperationFinished {
        operation_id: String,
        success: bool,
        error: Option<String>,
    },
}
Expand description

Events emitted by a TextDocument.

Subscribe via TextDocument::on_change (callback-based) or poll via TextDocument::poll_events (frame-loop).

These events carry enough information for a UI to do incremental updates — repaint only the affected region, not the entire document.

Variants§

§

ContentsChanged

Text content changed at a specific region.

Emitted by: insert_text, delete_char, delete_previous_char, remove_selected_text, insert_formatted_text, insert_block, insert_html, insert_markdown, insert_fragment, insert_image.

Fields

§position: usize
§chars_removed: usize
§chars_added: usize
§blocks_affected: usize
§

FormatChanged

Formatting changed without text content change.

Fields

§position: usize
§length: usize
§

BlockCountChanged(usize)

Block count changed. Carries the new count.

§

DocumentReset

The document was completely replaced (import, clear).

§

UndoRedoChanged

Undo/redo was performed or availability changed.

Fields

§can_undo: bool
§can_redo: bool
§

ModificationChanged(bool)

The modified flag changed.

§

LongOperationProgress

A long operation progressed.

Fields

§operation_id: String
§percent: f64
§message: String
§

LongOperationFinished

A long operation completed or failed.

Fields

§operation_id: String
§success: bool

Trait Implementations§

Source§

impl Clone for DocumentEvent

Source§

fn clone(&self) -> DocumentEvent

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for DocumentEvent

Source§

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

Formats the value using the given formatter. Read more

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
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
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> 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.