oseda_cli/
color.rs

1use serde::{Deserialize, Serialize};
2use strum_macros::{Display, EnumIter};
3
4#[derive(Serialize, Deserialize, Debug, Clone, Copy, Display, EnumIter)]
5pub enum Color {
6    Black,
7    White,
8    Red,
9    Green,
10    Blue,
11    Yellow,
12    Cyan,
13    Magenta,
14    Gray,
15    Silver,
16    Maroon,
17    Olive,
18    Lime,
19    Navy,
20    Teal,
21    Purple,
22    Orange,
23    Brown,
24    Pink,
25    Gold,
26}
27
28impl Color {
29    pub fn into_hex(&self) -> String {
30        match self {
31            self::Color::Black => "#000000".to_owned(),
32            self::Color::White => "#FFFFFF".to_owned(),
33            self::Color::Red => "#FF0000".to_owned(),
34            self::Color::Green => "#008000".to_owned(),
35            self::Color::Blue => "#0000FF".to_owned(),
36            self::Color::Yellow => "#FFFF00".to_owned(),
37            self::Color::Cyan => "#00FFFF".to_owned(),
38            self::Color::Magenta => "#FF00FF".to_owned(),
39            self::Color::Gray => "#808080".to_owned(),
40            self::Color::Silver => "#C0C0C0".to_owned(),
41            self::Color::Maroon => "#800000".to_owned(),
42            self::Color::Olive => "#808000".to_owned(),
43            self::Color::Lime => "#00FF00".to_owned(),
44            self::Color::Navy => "#000080".to_owned(),
45            self::Color::Teal => "#008080".to_owned(),
46            self::Color::Purple => "#800080".to_owned(),
47            self::Color::Orange => "#FFA500".to_owned(),
48            self::Color::Brown => "#A52A2A".to_owned(),
49            self::Color::Pink => "#FFC0CB".to_owned(),
50            self::Color::Gold => "#FFD700".to_owned(),
51        }
52    }
53}