pub struct Edit<S>where
S: Content,{
pub position: usize,
pub deleted_length: usize,
pub inserted_text: Vec<<S as Content>::Underlying>,
}Expand description
Represents an edit operation on source code.
Edits specify where in the source to make changes and what new content to insert. Used for incremental parsing and code transformation.
§Type Parameters
S: Content- The content type (determines encoding)
§Example
ⓘ
let edit = Edit {
position: 5, // Start at byte position 5
deleted_length: 3, // Delete 3 bytes
inserted_text: "new".as_bytes().to_vec(), // Insert "new"
};Fields§
§position: usizeByte position where the edit starts
deleted_length: usizeNumber of bytes to delete from the original content
inserted_text: Vec<<S as Content>::Underlying>New content to insert (in the content’s underlying representation)
Trait Implementations§
Auto Trait Implementations§
impl<S> Freeze for Edit<S>
impl<S> RefUnwindSafe for Edit<S>
impl<S> Send for Edit<S>
impl<S> Sync for Edit<S>
impl<S> Unpin for Edit<S>
impl<S> UnsafeUnpin for Edit<S>
impl<S> UnwindSafe for Edit<S>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
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 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>
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