aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-06-09 13:34:01 -0400
committerJesse Luehrs <doy@tozt.net>2019-06-09 13:34:01 -0400
commit54fa28994924803e2e4ead34521493e75286d1cc (patch)
treef8e92ded3f20dd6481c3c17eb852b8d46b8ce721
parentb96861eb9b3e43f8958dfbf395a167d8839b8e00 (diff)
downloadnbsh-old-54fa28994924803e2e4ead34521493e75286d1cc.tar.gz
nbsh-old-54fa28994924803e2e4ead34521493e75286d1cc.zip
fix arrow key edge cases
-rw-r--r--src/readline.rs10
1 files changed, 4 insertions, 6 deletions
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;
}
}
_ => {}