From 7363c923e585949d02ac4b274827fbc036032753 Mon Sep 17 00:00:00 2001 From: Aaron Muir Hamilton Date: Mon, 24 Oct 2022 22:10:02 +0000 Subject: [PATCH] Delete by EGC rather than by char. --- src/buffer.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/buffer.rs b/src/buffer.rs index 4ffad99..992e3a1 100644 --- a/src/buffer.rs +++ b/src/buffer.rs @@ -645,7 +645,12 @@ impl<'a> TextBuffer<'a> { let line = &mut self.lines[self.cursor.line.get()]; line.reset(); - line.text.remove(self.cursor.index); + for (i, c) in line.text.grapheme_indices(true) { + if i == self.cursor.index { + line.text.replace_range(i..(i + c.len()), ""); + break; + } + } } else if self.cursor.line.get() + 1 < self.lines.len() { let old_line = self.lines.remove(self.cursor.line.get() + 1);