#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum KeyAction {
Quit,
Refresh,
ToggleStress,
FocusNext,
NavigateUp,
NavigateDown,
Expand,
Help,
Alerts,
Export,
TogglePause,
}
impl KeyAction {
#[must_use]
pub fn key(&self) -> char {
match self {
Self::Quit => 'q',
Self::Refresh => 'r',
Self::ToggleStress => 's',
Self::FocusNext => '\t',
Self::NavigateUp => '\u{2191}',
Self::NavigateDown => '\u{2193}',
Self::Expand => '\n',
Self::Help => '?',
Self::Alerts => 'a',
Self::Export => 'e',
Self::TogglePause => 'p',
}
}
#[must_use]
pub fn description(&self) -> &'static str {
match self {
Self::Quit => "Quit",
Self::Refresh => "Refresh",
Self::ToggleStress => "Stress Test",
Self::FocusNext => "Focus",
Self::NavigateUp => "Up",
Self::NavigateDown => "Down",
Self::Expand => "Expand",
Self::Help => "Help",
Self::Alerts => "Alerts",
Self::Export => "Export",
Self::TogglePause => "Pause",
}
}
}