use ratatui::style::Modifier; use serde::{Deserialize, Serialize, Serializer, ser::SerializeMap}; use super::Color; #[derive(Clone, Copy, Debug, Default, Deserialize)] #[serde(from = "StyleShadow")] pub struct Style { pub fg: Option, pub bg: Option, pub modifier: Modifier, } impl Serialize for Style { fn serialize(&self, serializer: S) -> Result where S: Serializer, { let mut map = serializer.serialize_map(Some(3))?; map.serialize_entry("fg", &self.fg)?; map.serialize_entry("bg", &self.bg)?; map.serialize_entry("modifier", &self.modifier.bits())?; map.end() } } impl From