Skip to main content

shift_after_edit

Function shift_after_edit 

pub fn shift_after_edit(
    spans: &mut Vec<MarkSpan>,
    at: usize,
    inserted_len: usize,
    removed_len: usize,
)
Expand description

Adjust every span’s range by a splice at byte at, to keep marks aligned after a user edit. Insertion: spans at/after at shift right, straddling spans extend right. Deletion of [at, at+removed_len): spans entirely inside are dropped, straddling spans are clipped.