From 963456830c345654ecd0f4e51d6c8b9caa62f7ec Mon Sep 17 00:00:00 2001 From: Dongdong Zhou Date: Thu, 3 Mar 2022 12:25:02 +0000 Subject: [PATCH] fix jump to nearest delta --- core/src/editor.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/src/editor.rs b/core/src/editor.rs index 42156c48..fd063a47 100644 --- a/core/src/editor.rs +++ b/core/src/editor.rs @@ -980,6 +980,17 @@ fn jump_to_nearest_delta(&mut self, delta: &RopeDelta) { let offset = transformer.transform(offset, false); let (ins, del) = delta.clone().factor(); let ins = ins.transform_shrink(&del); + for el in ins.els.iter() { + match el { + xi_rope::DeltaElement::Copy(b, e) => { + // if b == e, ins.inserted_subset() will panic + if b == e { + return; + } + } + xi_rope::DeltaElement::Insert(_) => {} + } + } let mut positions = ins .inserted_subset() .complement_iter()