pub struct ComboDynColorDisplay<'a, Fg, Bg, T>(/* private fields */)
where
Fg: DynColor,
Bg: DynColor,
T: ?Sized;
Expand description
Wrapper around a type which implements all the formatters the wrapped type does, with the addition of changing the foreground and background color.
If compile-time coloring is an option, consider using ComboColorDisplay
instead.
Implementations§
Source§impl<'a, Fg, Bg, T> ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> ComboDynColorDisplay<'a, Fg, Bg, T>
Sourcepub const fn new(
thing: &'a T,
fg: Fg,
bg: Bg,
) -> ComboDynColorDisplay<'a, Fg, Bg, T>
pub const fn new( thing: &'a T, fg: Fg, bg: Bg, ) -> ComboDynColorDisplay<'a, Fg, Bg, T>
Create a new ComboDynColorDisplay
, from a pair of types which implement
DynColor
.
This is a const function: in non-const contexts, other functions may be more convenient.
§Example
Usage in const contexts:
use owo_colors::{ComboDynColorDisplay, XtermColors};
const COMBO_DYN_TEXT: ComboDynColorDisplay<XtermColors, XtermColors, str> =
ComboDynColorDisplay::new(
"blue text on lilac background (dynamic)",
XtermColors::BlueRibbon,
XtermColors::WistfulLilac,
);
println!("{}", COMBO_DYN_TEXT);
Sourcepub fn into_styled(self) -> Styled<&'a T>
pub fn into_styled(self) -> Styled<&'a T>
Convert self to a generic Styled
.
This method erases color-related type parameters, and can be used to unify types across branches.
§Example
Typical use:
use owo_colors::{AnsiColors, CssColors, OwoColorize};
fn is_black_on_white() -> bool {
// ...
}
let styled_str = if is_black_on_white() {
"hello".color(AnsiColors::Black).on_color(AnsiColors::White).into_styled()
} else {
"hello".color(CssColors::White).on_color(CssColors::Black).into_styled()
};
println!("{}", styled_str);
Sourcepub const fn on_color<NewBg>(
self,
bg: NewBg,
) -> ComboDynColorDisplay<'a, Fg, NewBg, T>where
NewBg: DynColor,
pub const fn on_color<NewBg>(
self,
bg: NewBg,
) -> ComboDynColorDisplay<'a, Fg, NewBg, T>where
NewBg: DynColor,
Set the background color at runtime. Only use if you do not know what color to use at
compile-time. If the color is constant, use either [OwoColorize::bg
] or
a color-specific method, such as [OwoColorize::on_yellow
],
use owo_colors::{OwoColorize, AnsiColors};
println!("{}", "yellow background".on_color(AnsiColors::BrightYellow));
Sourcepub const fn color<NewFg>(
self,
fg: NewFg,
) -> ComboDynColorDisplay<'a, NewFg, Bg, T>where
NewFg: DynColor,
pub const fn color<NewFg>(
self,
fg: NewFg,
) -> ComboDynColorDisplay<'a, NewFg, Bg, T>where
NewFg: DynColor,
Set the foreground color at runtime. Only use if you do not know which color will be used at
compile-time. If the color is constant, use either [OwoColorize::fg
] or
a color-specific method, such as [OwoColorize::green
],
use owo_colors::{OwoColorize, AnsiColors};
println!("{}", "green".color(AnsiColors::Green));
Trait Implementations§
Source§impl<'a, Fg, Bg, T> Binary for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> Binary for ComboDynColorDisplay<'a, Fg, Bg, T>
Source§impl<'a, Fg, Bg, T> Debug for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> Debug for ComboDynColorDisplay<'a, Fg, Bg, T>
Source§impl<'a, Fg, Bg, T> Display for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> Display for ComboDynColorDisplay<'a, Fg, Bg, T>
Source§impl<'a, Fg, Bg, T> LowerExp for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> LowerExp for ComboDynColorDisplay<'a, Fg, Bg, T>
Source§impl<'a, Fg, Bg, T> LowerHex for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> LowerHex for ComboDynColorDisplay<'a, Fg, Bg, T>
Source§impl<'a, Fg, Bg, T> Octal for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> Octal for ComboDynColorDisplay<'a, Fg, Bg, T>
Source§impl<'a, Fg, Bg, T> Pointer for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> Pointer for ComboDynColorDisplay<'a, Fg, Bg, T>
Source§impl<'a, Fg, Bg, T> UpperExp for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> UpperExp for ComboDynColorDisplay<'a, Fg, Bg, T>
Auto Trait Implementations§
impl<'a, Fg, Bg, T> Freeze for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> RefUnwindSafe for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> Send for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> Sync for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> Unpin for ComboDynColorDisplay<'a, Fg, Bg, T>
impl<'a, Fg, Bg, T> UnwindSafe for ComboDynColorDisplay<'a, Fg, Bg, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read more