diff options
| author | Mroik <mroik@delayed.space> | 2025-04-16 03:06:55 +0200 |
|---|---|---|
| committer | Mroik <mroik@delayed.space> | 2025-04-16 03:06:55 +0200 |
| commit | 9ba3e8920eb80204ef0e47f7eef5d788d4ff1e38 (patch) | |
| tree | 193fff397596e3d87a2b730eb276bf92bfe68ab0 /src | |
| parent | 2e1fb0a60a671cd609ff603fa5a371341b7e0fe9 (diff) | |
Use pattern matching for modifier
Diffstat (limited to 'src')
| -rw-r--r-- | src/event.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/event.rs b/src/event.rs index 04fc994..2a16062 100644 --- a/src/event.rs +++ b/src/event.rs @@ -24,14 +24,16 @@ pub async fn handle_input(sender: &Sender<Event>) -> Result<(), Box<dyn Error>> //crossterm::event::Event::FocusLost => todo!(), //crossterm::event::Event::Paste(_) => todo!(), crossterm::event::Event::Resize(_, _) => sender.send(Event::ForceRender).await?, - crossterm::event::Event::Key(key_event) => match key_event.code { - KeyCode::Char('c') if key_event.modifiers == KeyModifiers::CONTROL => { - sender.send(Event::Terminate).await? + crossterm::event::Event::Key(key_event) => { + match (key_event.code, key_event.modifiers) { + (KeyCode::Char('c'), KeyModifiers::CONTROL) => { + sender.send(Event::Terminate).await? + } + (KeyCode::Backspace, _) => sender.send(Event::Backspace).await?, + (KeyCode::Char(c), _) => sender.send(Event::KeyPress(c)).await?, + _ => (), } - KeyCode::Backspace => sender.send(Event::Backspace).await?, - KeyCode::Char(c) => sender.send(Event::KeyPress(c)).await?, - _ => (), - }, + } _ => (), } } |
