use {
super::StyleMap,
termimad::{
Alignment,
LineStyle,
MadSkin,
},
};
pub struct StatusMadSkinSet {
pub normal: MadSkin,
pub error: MadSkin,
}
fn make_normal_status_mad_skin(skin: &StyleMap) -> MadSkin {
MadSkin {
paragraph: LineStyle::new(skin.status_normal.clone(), Alignment::Left),
italic: skin.status_italic.clone(),
bold: skin.status_bold.clone(),
inline_code: skin.status_code.clone(),
ellipsis: skin.status_ellipsis.clone(),
..Default::default()
}
}
fn make_error_status_mad_skin(skin: &StyleMap) -> MadSkin {
MadSkin {
paragraph: LineStyle::new(skin.status_error.clone(), Alignment::Left),
ellipsis: skin.status_ellipsis.clone(),
..Default::default()
}
}
impl StatusMadSkinSet {
pub fn from_skin(skin: &StyleMap) -> Self {
Self {
normal: make_normal_status_mad_skin(skin),
error: make_error_status_mad_skin(skin),
}
}
}