tmux_interface/options/common/
switch.rs

1use super::constants::*;
2use crate::Error;
3use std::fmt;
4use std::str::FromStr;
5
6#[derive(PartialEq, Clone, Debug)]
7pub enum Switch {
8    On,
9    Off,
10}
11
12impl fmt::Display for Switch {
13    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
14        match self {
15            Self::On => write!(f, "{}", ON),
16            Self::Off => write!(f, "{}", OFF),
17        }
18    }
19}
20
21impl FromStr for Switch {
22    type Err = Error;
23
24    fn from_str(s: &str) -> Result<Self, Error> {
25        match s {
26            ON => Ok(Self::On),
27            OFF => Ok(Self::Off),
28            _ => Err(Error::ParseSwitch),
29        }
30    }
31}