#[derive(Debug, Eq, PartialEq)]
pub enum Direction {
Forward,
Backward,
}
#[derive(Debug, Eq, PartialEq)]
pub enum Movement {
Prev,
Next,
PrevLine,
NextLine,
PrevFile,
NextFile,
Forward(u16),
Backward(u16),
}
impl Movement {
pub fn is_forward(&self) -> bool {
matches!(self.direction(), Direction::Forward)
}
pub fn direction(&self) -> Direction {
match self {
Movement::Prev | Movement::PrevLine | Movement::PrevFile | Movement::Backward(_) => {
Direction::Backward
}
Movement::Next | Movement::NextLine | Movement::NextFile | Movement::Forward(_) => {
Direction::Forward
}
}
}
}