diff --git a/src/text/line.rs b/src/text/line.rs index 0c12d560..65359dd8 100644 --- a/src/text/line.rs +++ b/src/text/line.rs @@ -495,6 +495,18 @@ impl std::fmt::Display for Line<'_> { } } +impl<'a> Styled for Line<'a> { + type Item = Line<'a>; + + fn style(&self) -> Style { + self.style + } + + fn set_style>(self, style: S) -> Self::Item { + self.style(style) + } +} + #[cfg(test)] mod tests { use std::iter; @@ -612,6 +624,16 @@ mod tests { assert_eq!(Style::reset(), line.style); } + #[test] + fn stylize() { + assert_eq!(Line::default().green().style, Color::Green.into()); + assert_eq!( + Line::default().on_green().style, + Style::new().bg(Color::Green) + ); + assert_eq!(Line::default().italic().style, Modifier::ITALIC.into()); + } + #[test] fn from_string() { let s = String::from("Hello, world!");