A simple CPU rendered GUI IDE experience.
other
| -rw-r--r-- | src/text.rs | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/text.rs b/src/text.rs index dd2a67b..791a07c 100644 --- a/src/text.rs +++ b/src/text.rs @@ -1107,28 +1107,27 @@ impl TextArea { for t in t { let pl = ln; ln += t.delta_line; - if pl != ln { - src_map = self - .source_map(ln as _) - .coerce() - .collect::<Vec<_>>(); - mapping = self - .reverse_source_map_w(src_map.iter().cloned()) - .coerce() - .collect::<Vec<_>>(); - } - // dbg!( // &mapping, // self.source_map(ln as _).coerce().collect::<Vec<_>>(), // self.rope.line(ln as _) // ); + if ln < self.vo as u32 { + continue; + } ch = match t.delta_line { 1.. => t.delta_start, 0 => ch + t.delta_start, }; - if ln < self.vo as u32 { - continue; + if pl != ln { + src_map = self + .source_map(ln as _) + .coerce() + .collect::<Vec<_>>(); + mapping = self + .reverse_source_map_w(src_map.iter().cloned()) + .coerce() + .collect::<Vec<_>>(); } let x: Result<(usize, usize), ropey::Error> = try { let x1 = self.rope.try_byte_to_char( |