From 54fa28994924803e2e4ead34521493e75286d1cc Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sun, 9 Jun 2019 13:34:01 -0400 Subject: fix arrow key edge cases --- src/readline.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/readline.rs b/src/readline.rs index eaf29ec..d8d24ba 100644 --- a/src/readline.rs +++ b/src/readline.rs @@ -130,17 +130,15 @@ impl ReadlineState { } } crossterm::KeyEvent::Left => { - let cursor = 0.max(self.cursor - 1); - if cursor != self.cursor { + if self.cursor != 0 { + self.cursor -= 1; self.write(b"\x1b[D").context(WriteToTerminal)?; - self.cursor = cursor; } } crossterm::KeyEvent::Right => { - let cursor = self.buffer.len().min(self.cursor + 1); - if cursor != self.cursor { + if self.cursor != self.buffer.len() { + self.cursor += 1; self.write(b"\x1b[C").context(WriteToTerminal)?; - self.cursor = cursor; } } _ => {} -- cgit v1.2.3-54-g00ecf