From e1dec058818b40fd2b9d3c9bc0a3d045b07e78a8 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Sat, 16 Nov 2019 20:00:42 +0200 Subject: [PATCH] ui/embed: don't increase cursor with multibyte chars When waiting for a multibyte unicode codepoint to fill up, don't increase cursor at all. --- ui/src/terminal/embed/grid.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ui/src/terminal/embed/grid.rs b/ui/src/terminal/embed/grid.rs index a30ed232..2766175b 100644 --- a/ui/src/terminal/embed/grid.rs +++ b/ui/src/terminal/embed/grid.rs @@ -256,12 +256,15 @@ impl EmbedGrid { match codepoints { CodepointBuf::None if c & 0b1110_0000 == 0b1100_0000 => { *codepoints = CodepointBuf::TwoCodepoints(vec![c]); + return; } CodepointBuf::None if c & 0b1111_0000 == 0b1110_0000 => { *codepoints = CodepointBuf::ThreeCodepoints(vec![c]); + return; } CodepointBuf::None if c & 0b1111_1000 == 0b1111_0000 => { *codepoints = CodepointBuf::FourCodepoints(vec![c]); + return; } CodepointBuf::TwoCodepoints(buf) => { grid[cursor_val!()].set_ch(