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.