diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2024-01-06 13:57:32 -0800 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2024-01-06 13:57:32 -0800 |
| commit | 9ac429aa26529af2f753d01fe6e4fe5046bdf30f (patch) | |
| tree | 619b89a172a65701735ffff2cd658d04312357f3 /src/term.rs | |
| parent | Fix input issues when scrolling quickly. (diff) | |
| download | editor-9ac429aa26529af2f753d01fe6e4fe5046bdf30f.tar.zst | |
Implement backspace.
Diffstat (limited to 'src/term.rs')
| -rw-r--r-- | src/term.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/term.rs b/src/term.rs index c23dc4e..8f44b23 100644 --- a/src/term.rs +++ b/src/term.rs @@ -65,12 +65,14 @@ pub enum Key { Down, Left, Right, + Backspace, Char(u8), } pub fn read_key(stdin: &mut Stdin) -> Result<Key, Box<dyn Error>> { const CTRL_Q: u8 = 17; const CTRL_S: u8 = 19; + const BACKSPACE: u8 = 127; const ESC: u8 = 27; loop { @@ -82,6 +84,9 @@ pub fn read_key(stdin: &mut Stdin) -> Result<Key, Box<dyn Error>> { if buf[0] == CTRL_S { return Ok(Key::CtrlS); } + if buf[0] == BACKSPACE { + return Ok(Key::Backspace); + } if buf[0] != ESC { return Ok(Key::Char(buf[0])); } |
