pub struct Edit<S: Content> {
pub position: usize,
pub deleted_length: usize,
pub inserted_text: Vec<S::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::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