Skip to main content

EditorBuffer

Struct EditorBuffer 

Source
pub struct EditorBuffer { /* private fields */ }

Implementations§

Source§

impl EditorBuffer

Source

pub fn new(text: String) -> Self

Source

pub fn text(&self) -> &str

Source

pub fn line_index(&self) -> &LineIndex

Source

pub fn detect_indent(&self, sample_lines: usize) -> IndentStyle

Detects the predominant indentation style by analyzing the first sample_lines lines. Returns Spaces(4) as default when detection is inconclusive.

Source

pub fn apply_patches( &mut self, patches: &[TextPatch], ) -> Result<Vec<RangeChange>, TextPatchError>

Apply patches, update text and LineIndex, return RangeChanges for downstream consumers.

Source

pub fn apply_patches_with( &mut self, patches: &[TextPatch], decorations: &mut DecorationSet, wrap_map: Option<&mut WrapMap>, wrap_policy: Option<&WrapPolicy>, history: Option<&mut EditHistory>, label: Option<&str>, ) -> Result<(), TextPatchError>

Apply patches and propagate to all subsystems in order:

  1. Record to history (before text change, needs original text for inverse patch computation)
  2. Apply patches to text and rebuild LineIndex
  3. Map decorations through changes
  4. Update wrap map (only when both wrap_map and wrap_policy are Some)

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