use std::str::FromStr;
impl FromStr for Color {
type Err = NCurseswError;
fn from_str(color: &str) -> Result<Self, Self::Err> {
match color {
"default" => Ok(Color::default()),
"black" => Ok(Color::Dark(BaseColor::Black)),
"red" => Ok(Color::Dark(BaseColor::Red)),
"green" => Ok(Color::Dark(BaseColor::Green)),
"yellow" => Ok(Color::Dark(BaseColor::Yellow)),
"blue" => Ok(Color::Dark(BaseColor::Blue)),
"magenta" => Ok(Color::Dark(BaseColor::Magenta)),
"cyan" => Ok(Color::Dark(BaseColor::Cyan)),
"white" => Ok(Color::Dark(BaseColor::White)),
"light black" => Ok(Color::Light(BaseColor::Black)),
"light red" => Ok(Color::Light(BaseColor::Red)),
"light green" => Ok(Color::Light(BaseColor::Green)),
"light yellow" => Ok(Color::Light(BaseColor::Yellow)),
"light blue" => Ok(Color::Light(BaseColor::Blue)),
"light magenta" => Ok(Color::Light(BaseColor::Magenta)),
"light cyan" => Ok(Color::Light(BaseColor::Cyan)),
"light white" => Ok(Color::Light(BaseColor::White)),
_ => Err(NCurseswError::ColorParseError { color: color.to_string() })
}
}
}