diff options
author | Nathan Vegdahl | 2021-06-23 23:54:42 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2021-06-24 01:04:03 +0000 |
commit | 9cbf564d086a14b413d27f0514aa8f11b92ec880 (patch) | |
tree | 743572d51b6ab3c27131fcd2df8d66121af47391 | |
parent | 7f6265ecf3380dea4179f49a8cc8e5734b4df174 (diff) |
Handle erroneously ignored case in RopeGraphemes iterator.
-rw-r--r-- | helix-core/src/graphemes.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/helix-core/src/graphemes.rs b/helix-core/src/graphemes.rs index af740f61..2e6a925f 100644 --- a/helix-core/src/graphemes.rs +++ b/helix-core/src/graphemes.rs @@ -207,6 +207,10 @@ impl<'a> Iterator for RopeGraphemes<'a> { self.cur_chunk_start += self.cur_chunk.len(); self.cur_chunk = self.chunks.next().unwrap_or(""); } + Err(GraphemeIncomplete::PreContext(idx)) => { + let (chunk, byte_idx, _, _) = self.text.chunk_at_byte(idx.saturating_sub(1)); + self.cursor.provide_context(chunk, byte_idx); + } _ => unreachable!(), } } |