Skip to main content

max / mountaineer-sysop

555 B · 23 lines History Blame Raw
1 use crossterm::event::{KeyCode, KeyEvent};
2
3 #[derive(Debug, Clone, Copy, PartialEq, Eq)]
4 pub enum GlobalAction {
5 Help,
6 Quit,
7 Back,
8 Filter,
9 Command,
10 Passthrough,
11 }
12
13 pub fn classify(key: KeyEvent) -> GlobalAction {
14 match key.code {
15 KeyCode::Char('?') => GlobalAction::Help,
16 KeyCode::Char('q') => GlobalAction::Quit,
17 KeyCode::Esc => GlobalAction::Back,
18 KeyCode::Char('/') => GlobalAction::Filter,
19 KeyCode::Char(':') => GlobalAction::Command,
20 _ => GlobalAction::Passthrough,
21 }
22 }
23