Parse HEX colors to ratatui's Rgb colors.
#C3F111
->Color::Rgb(195,241,17)
#CFB
->Color::Rgb(204,255,187)
142
->Color::Indexed(142)
#[derive(Serialize, Deserialize, PartialEq)]
sruct ColorStruct {
#[serde(with = "color_to_tui")]
color: ratatui::style::Color,
#[serde(with = "color_to_tui::optional")]
optional_color: Option<ratatui::style::Color>,
}
let color_text = r###"{ "color" : "#12FC1C", "optional_color" : "123" }"###
let t: ColorStruct = serde_json::from_str::<ColorStruct>(color_text).unwrap();
let c = ColorStruct {
color: Color::Rgb(18, 252, 28),
optional_color: Option<Color::Indexed(123)>,
};
assert_eq!(t, c);