Struct colorz::StyledValue
source · #[non_exhaustive]pub struct StyledValue<T, F = NoColor, B = NoColor, U = NoColor> {
pub value: T,
pub style: Style<F, B, U>,
pub stream: Option<Stream>,
}
Expand description
A styled value, created from Colorize
or StyledValue::new
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.value: T
The value to style
style: Style<F, B, U>
The style to use
stream: Option<Stream>
The stream to use
Implementations§
source§impl<T, F, B, U> StyledValue<T, F, B, U>
impl<T, F, B, U> StyledValue<T, F, B, U>
source§impl<T, F: OptionalColor, B: OptionalColor, U: OptionalColor> StyledValue<T, F, B, U>
impl<T, F: OptionalColor, B: OptionalColor, U: OptionalColor> StyledValue<T, F, B, U>
sourcepub const fn style(&self) -> StyledValue<&Self>
pub const fn style(&self) -> StyledValue<&Self>
Wrap this styled value in another one (this allows setting conditional formatting differently for each layer)
sourcepub const fn into_style(self) -> StyledValue<Self>
pub const fn into_style(self) -> StyledValue<Self>
Wrap this styled value in another one (this allows setting conditional formatting differently for each layer)
sourcepub fn fg<C>(self, color: C) -> StyledValue<T, C, B, U>
pub fn fg<C>(self, color: C) -> StyledValue<T, C, B, U>
Change the foreground color
sourcepub fn bg<C>(self, color: C) -> StyledValue<T, F, C, U>
pub fn bg<C>(self, color: C) -> StyledValue<T, F, C, U>
Change the background color
sourcepub fn underline_color<C>(self, color: C) -> StyledValue<T, F, B, C>
pub fn underline_color<C>(self, color: C) -> StyledValue<T, F, B, C>
Change the underline color
sourcepub fn black(self) -> StyledValue<T, Black, B, U>
pub fn black(self) -> StyledValue<T, Black, B, U>
Changes the foreground to black
sourcepub fn red(self) -> StyledValue<T, Red, B, U>
pub fn red(self) -> StyledValue<T, Red, B, U>
Changes the foreground to red
sourcepub fn green(self) -> StyledValue<T, Green, B, U>
pub fn green(self) -> StyledValue<T, Green, B, U>
Changes the foreground to green
sourcepub fn yellow(self) -> StyledValue<T, Yellow, B, U>
pub fn yellow(self) -> StyledValue<T, Yellow, B, U>
Changes the foreground to yellow
sourcepub fn blue(self) -> StyledValue<T, Blue, B, U>
pub fn blue(self) -> StyledValue<T, Blue, B, U>
Changes the foreground to blue
sourcepub fn magenta(self) -> StyledValue<T, Magenta, B, U>
pub fn magenta(self) -> StyledValue<T, Magenta, B, U>
Changes the foreground to magenta
sourcepub fn cyan(self) -> StyledValue<T, Cyan, B, U>
pub fn cyan(self) -> StyledValue<T, Cyan, B, U>
Changes the foreground to cyan
sourcepub fn white(self) -> StyledValue<T, White, B, U>
pub fn white(self) -> StyledValue<T, White, B, U>
Changes the foreground to white
sourcepub fn bright_black(self) -> StyledValue<T, BrightBlack, B, U>
pub fn bright_black(self) -> StyledValue<T, BrightBlack, B, U>
Changes the foreground to bright black
sourcepub fn bright_red(self) -> StyledValue<T, BrightRed, B, U>
pub fn bright_red(self) -> StyledValue<T, BrightRed, B, U>
Changes the foreground to bright red
sourcepub fn bright_green(self) -> StyledValue<T, BrightGreen, B, U>
pub fn bright_green(self) -> StyledValue<T, BrightGreen, B, U>
Changes the foreground to bright green
sourcepub fn bright_yellow(self) -> StyledValue<T, BrightYellow, B, U>
pub fn bright_yellow(self) -> StyledValue<T, BrightYellow, B, U>
Changes the foreground to bright yellow
sourcepub fn bright_blue(self) -> StyledValue<T, BrightBlue, B, U>
pub fn bright_blue(self) -> StyledValue<T, BrightBlue, B, U>
Changes the foreground to bright blue
sourcepub fn bright_magenta(self) -> StyledValue<T, BrightMagenta, B, U>
pub fn bright_magenta(self) -> StyledValue<T, BrightMagenta, B, U>
Changes the foreground to bright magenta
sourcepub fn bright_cyan(self) -> StyledValue<T, BrightCyan, B, U>
pub fn bright_cyan(self) -> StyledValue<T, BrightCyan, B, U>
Changes the foreground to bright cyan
sourcepub fn bright_white(self) -> StyledValue<T, BrightWhite, B, U>
pub fn bright_white(self) -> StyledValue<T, BrightWhite, B, U>
Changes the foreground to bright white
sourcepub fn on_black(self) -> StyledValue<T, F, Black, U>
pub fn on_black(self) -> StyledValue<T, F, Black, U>
Changes the background to black
sourcepub fn on_red(self) -> StyledValue<T, F, Red, U>
pub fn on_red(self) -> StyledValue<T, F, Red, U>
Changes the background to red
sourcepub fn on_green(self) -> StyledValue<T, F, Green, U>
pub fn on_green(self) -> StyledValue<T, F, Green, U>
Changes the background to green
sourcepub fn on_yellow(self) -> StyledValue<T, F, Yellow, U>
pub fn on_yellow(self) -> StyledValue<T, F, Yellow, U>
Changes the background to yellow
sourcepub fn on_blue(self) -> StyledValue<T, F, Blue, U>
pub fn on_blue(self) -> StyledValue<T, F, Blue, U>
Changes the background to blue
sourcepub fn on_magenta(self) -> StyledValue<T, F, Magenta, U>
pub fn on_magenta(self) -> StyledValue<T, F, Magenta, U>
Changes the background to magenta
sourcepub fn on_cyan(self) -> StyledValue<T, F, Cyan, U>
pub fn on_cyan(self) -> StyledValue<T, F, Cyan, U>
Changes the background to cyan
sourcepub fn on_white(self) -> StyledValue<T, F, White, U>
pub fn on_white(self) -> StyledValue<T, F, White, U>
Changes the background to white
Examples found in repository?
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
fn main() {
// normal usage
println!("{}", "green".green());
println!("{}", "yellow".yellow());
println!("{}", "blue".blue());
println!("{}", "black".black());
// generic examples
println!("{}", "red".fg(Red));
println!("{}", "magenta".fg(Magenta));
println!("{}", "white".fg(White));
println!("{}", "cyan".fg(Cyan));
println!("\nBrights\n-------");
println!("{}", "green".fg(BrightGreen));
println!("{}", "yellow".fg(BrightYellow));
println!("{}", "blue".fg(BrightBlue));
println!("{}", "black".fg(BrightBlack));
println!("{}", "red".fg(BrightRed));
println!("{}", "magenta".fg(BrightMagenta));
println!("{}", "white".fg(BrightWhite));
println!("{}", "cyan".fg(BrightCyan));
println!("\nStyles\n-------");
println!("{}", "underline".underline());
println!("{}", "bold".bold());
println!("{}", "italic".italics());
println!("{}", "strikethrough".strikethrough());
println!("{}", "reverse".reverse());
println!("1{}3", "2".hide());
println!("{}", "blink".blink());
println!("{}", "blink fast".blink_fast());
// foreground and background
let red_on_white = "red on white".red().on_white();
println!("{}", red_on_white);
}
sourcepub fn on_bright_black(self) -> StyledValue<T, F, BrightBlack, U>
pub fn on_bright_black(self) -> StyledValue<T, F, BrightBlack, U>
Changes the background to bright black
sourcepub fn on_bright_red(self) -> StyledValue<T, F, BrightRed, U>
pub fn on_bright_red(self) -> StyledValue<T, F, BrightRed, U>
Changes the background to bright red
sourcepub fn on_bright_green(self) -> StyledValue<T, F, BrightGreen, U>
pub fn on_bright_green(self) -> StyledValue<T, F, BrightGreen, U>
Changes the background to bright green
sourcepub fn on_bright_yellow(self) -> StyledValue<T, F, BrightYellow, U>
pub fn on_bright_yellow(self) -> StyledValue<T, F, BrightYellow, U>
Changes the background to bright yellow
sourcepub fn on_bright_blue(self) -> StyledValue<T, F, BrightBlue, U>
pub fn on_bright_blue(self) -> StyledValue<T, F, BrightBlue, U>
Changes the background to bright blue
sourcepub fn on_bright_magenta(self) -> StyledValue<T, F, BrightMagenta, U>
pub fn on_bright_magenta(self) -> StyledValue<T, F, BrightMagenta, U>
Changes the background to bright magenta
sourcepub fn on_bright_cyan(self) -> StyledValue<T, F, BrightCyan, U>
pub fn on_bright_cyan(self) -> StyledValue<T, F, BrightCyan, U>
Changes the background to bright cyan
sourcepub fn on_bright_white(self) -> StyledValue<T, F, BrightWhite, U>
pub fn on_bright_white(self) -> StyledValue<T, F, BrightWhite, U>
Changes the background to bright white
sourcepub fn bold(self) -> StyledValue<T, F, B, U>
pub fn bold(self) -> StyledValue<T, F, B, U>
Applies the bold effect
sourcepub fn dimmed(self) -> StyledValue<T, F, B, U>
pub fn dimmed(self) -> StyledValue<T, F, B, U>
Applies the dimmed effect
sourcepub fn italics(self) -> StyledValue<T, F, B, U>
pub fn italics(self) -> StyledValue<T, F, B, U>
Applies the italics effect
sourcepub fn underline(self) -> StyledValue<T, F, B, U>
pub fn underline(self) -> StyledValue<T, F, B, U>
Applies the underline effect
sourcepub fn double_underline(self) -> StyledValue<T, F, B, U>
pub fn double_underline(self) -> StyledValue<T, F, B, U>
Applies the double underline effect
sourcepub fn blink(self) -> StyledValue<T, F, B, U>
pub fn blink(self) -> StyledValue<T, F, B, U>
Applies the blink effect
sourcepub fn blink_fast(self) -> StyledValue<T, F, B, U>
pub fn blink_fast(self) -> StyledValue<T, F, B, U>
Applies the blink fast effect
sourcepub fn reverse(self) -> StyledValue<T, F, B, U>
pub fn reverse(self) -> StyledValue<T, F, B, U>
Applies the reverse effect
sourcepub fn hide(self) -> StyledValue<T, F, B, U>
pub fn hide(self) -> StyledValue<T, F, B, U>
Applies the hide effect
sourcepub fn strikethrough(self) -> StyledValue<T, F, B, U>
pub fn strikethrough(self) -> StyledValue<T, F, B, U>
Applies the strikethrough effect
sourcepub fn overline(self) -> StyledValue<T, F, B, U>
pub fn overline(self) -> StyledValue<T, F, B, U>
Applies the overline effect
sourcepub fn superscript(self) -> StyledValue<T, F, B, U>
pub fn superscript(self) -> StyledValue<T, F, B, U>
Applies the superscript effect
sourcepub fn subscript(self) -> StyledValue<T, F, B, U>
pub fn subscript(self) -> StyledValue<T, F, B, U>
Applies the subscript effect
sourcepub const fn stream(self, stream: Stream) -> Self
pub const fn stream(self, stream: Stream) -> Self
Sets the stream for the given value
Examples found in repository?
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
fn main() {
// NOTE: this example uses `stream(Stderr)` even though it's writing
// to stdout to make it easier to see how `mode::Mode::Detect` works
// try running this command wihtout redirecting stderr and while
// redirecting stderr to `/dev/null` (or some file) to see how it
// colors things differently
//
// ```
// cargo run --example mode
// cargo run --example mode 2> /dev/null
//
// cargo run --example mode --features strip-colors
// cargo run --example mode --features strip-colors 2> /dev/null
// ```
//
// NOTE: that colorz currently uses `std::io::IsTerminal` to detect
// if stdin/stderr/stdout have been redirected
assert_eq!(mode::get_default_stream(), AlwaysColor);
mode::set_default_stream(Stderr);
assert_eq!(mode::get_default_stream(), Stderr);
#[cfg(feature = "std")]
{
mode::set_coloring_mode_from_env();
println!("{}", "blue stderr".blue());
println!("{}", "blue stdout".blue().stream(Stdout));
println!("{}", "blue always".blue().stream(AlwaysColor));
println!("{}", "blue never".blue().stream(NeverColor));
}
println!("color mode=always");
mode::set_coloring_mode(mode::Mode::Always);
println!("{}", "blue stderr".blue());
println!("{}", "blue stdout".blue().stream(Stdout));
println!("{}", "blue always".blue().stream(AlwaysColor));
println!("{}", "blue never".blue().stream(NeverColor));
println!("color mode=detect");
mode::set_coloring_mode(mode::Mode::Detect);
println!("{}", "blue stderr".blue());
println!("{}", "blue stdout".blue().stream(Stdout));
println!("{}", "blue always".blue().stream(AlwaysColor));
println!("{}", "blue never".blue().stream(NeverColor));
println!("color mode=never");
mode::set_coloring_mode(mode::Mode::Never);
println!("{}", "blue stderr".blue());
println!("{}", "blue stdout".blue().stream(Stdout));
println!("{}", "blue always".blue().stream(AlwaysColor));
println!("{}", "blue never".blue().stream(NeverColor));
}
sourcepub const fn stream_opt(self, stream: Option<Stream>) -> Self
pub const fn stream_opt(self, stream: Option<Stream>) -> Self
Sets the stream for the given value
source§impl<T, F: OptionalColor, B: OptionalColor, U: OptionalColor> StyledValue<T, F, B, U>
impl<T, F: OptionalColor, B: OptionalColor, U: OptionalColor> StyledValue<T, F, B, U>
Trait Implementations§
source§impl<T: Binary, F: OptionalColor, B: OptionalColor, U: OptionalColor> Binary for StyledValue<T, F, B, U>
impl<T: Binary, F: OptionalColor, B: OptionalColor, U: OptionalColor> Binary for StyledValue<T, F, B, U>
source§impl<T: Clone, F: Clone, B: Clone, U: Clone> Clone for StyledValue<T, F, B, U>
impl<T: Clone, F: Clone, B: Clone, U: Clone> Clone for StyledValue<T, F, B, U>
source§fn clone(&self) -> StyledValue<T, F, B, U>
fn clone(&self) -> StyledValue<T, F, B, U>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<T: Debug, F: OptionalColor, B: OptionalColor, U: OptionalColor> Debug for StyledValue<T, F, B, U>
impl<T: Debug, F: OptionalColor, B: OptionalColor, U: OptionalColor> Debug for StyledValue<T, F, B, U>
source§impl<T: Display, F: OptionalColor, B: OptionalColor, U: OptionalColor> Display for StyledValue<T, F, B, U>
impl<T: Display, F: OptionalColor, B: OptionalColor, U: OptionalColor> Display for StyledValue<T, F, B, U>
source§impl<T: LowerExp, F: OptionalColor, B: OptionalColor, U: OptionalColor> LowerExp for StyledValue<T, F, B, U>
impl<T: LowerExp, F: OptionalColor, B: OptionalColor, U: OptionalColor> LowerExp for StyledValue<T, F, B, U>
source§impl<T: LowerHex, F: OptionalColor, B: OptionalColor, U: OptionalColor> LowerHex for StyledValue<T, F, B, U>
impl<T: LowerHex, F: OptionalColor, B: OptionalColor, U: OptionalColor> LowerHex for StyledValue<T, F, B, U>
source§impl<T: Octal, F: OptionalColor, B: OptionalColor, U: OptionalColor> Octal for StyledValue<T, F, B, U>
impl<T: Octal, F: OptionalColor, B: OptionalColor, U: OptionalColor> Octal for StyledValue<T, F, B, U>
source§impl<T: Pointer, F: OptionalColor, B: OptionalColor, U: OptionalColor> Pointer for StyledValue<T, F, B, U>
impl<T: Pointer, F: OptionalColor, B: OptionalColor, U: OptionalColor> Pointer for StyledValue<T, F, B, U>
source§impl<T: UpperExp, F: OptionalColor, B: OptionalColor, U: OptionalColor> UpperExp for StyledValue<T, F, B, U>
impl<T: UpperExp, F: OptionalColor, B: OptionalColor, U: OptionalColor> UpperExp for StyledValue<T, F, B, U>
source§impl<T: UpperHex, F: OptionalColor, B: OptionalColor, U: OptionalColor> UpperHex for StyledValue<T, F, B, U>
impl<T: UpperHex, F: OptionalColor, B: OptionalColor, U: OptionalColor> UpperHex for StyledValue<T, F, B, U>
impl<T: Copy, F: Copy, B: Copy, U: Copy> Copy for StyledValue<T, F, B, U>
Auto Trait Implementations§
impl<T, F, B, U> RefUnwindSafe for StyledValue<T, F, B, U>where B: RefUnwindSafe, F: RefUnwindSafe, T: RefUnwindSafe, U: RefUnwindSafe,
impl<T, F, B, U> Send for StyledValue<T, F, B, U>where B: Send, F: Send, T: Send, U: Send,
impl<T, F, B, U> Sync for StyledValue<T, F, B, U>where B: Sync, F: Sync, T: Sync, U: Sync,
impl<T, F, B, U> Unpin for StyledValue<T, F, B, U>where B: Unpin, F: Unpin, T: Unpin, U: Unpin,
impl<T, F, B, U> UnwindSafe for StyledValue<T, F, B, U>where B: UnwindSafe, F: UnwindSafe, T: UnwindSafe, U: UnwindSafe,
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> Colorize for Twhere
T: ?Sized,
impl<T> Colorize for Twhere T: ?Sized,
source§fn into_style(self) -> StyledValue<Self>where
Self: Sized,
fn into_style(self) -> StyledValue<Self>where Self: Sized,
StyledValue
source§fn style(&self) -> StyledValue<&Self>
fn style(&self) -> StyledValue<&Self>
StyledValue
source§fn into_style_with<F, B, U>(
self,
style: Style<F, B, U>
) -> StyledValue<Self, F, B, U>where
Self: Sized,
fn into_style_with<F, B, U>( self, style: Style<F, B, U> ) -> StyledValue<Self, F, B, U>where Self: Sized,
StyledValue
and applies the given stylesource§fn style_with<F, B, U>(
&self,
style: Style<F, B, U>
) -> StyledValue<&Self, F, B, U>
fn style_with<F, B, U>( &self, style: Style<F, B, U> ) -> StyledValue<&Self, F, B, U>
StyledValue
and applies the given style