pub struct Style { /* private fields */ }
Expand description
ANSI Text styling
You can print a Style
to render the corresponding ANSI code.
Using the alternate flag #
will render the ANSI reset code, if needed.
Together, this makes it convenient to render styles using inline format arguments.
§Examples
let style = anstyle::Style::new().bold();
let value = 42;
println!("{style}{value}{style:#}");
Implementations§
Source§impl Style
impl Style
§Core
Sourcepub const fn fg_color(self, fg: Option<Color>) -> Self
pub const fn fg_color(self, fg: Option<Color>) -> Self
Set foreground color
§Examples
let style = anstyle::Style::new().fg_color(Some(anstyle::AnsiColor::Red.into()));
Sourcepub const fn bg_color(self, bg: Option<Color>) -> Self
pub const fn bg_color(self, bg: Option<Color>) -> Self
Set background color
§Examples
let style = anstyle::Style::new().bg_color(Some(anstyle::AnsiColor::Red.into()));
Sourcepub const fn underline_color(self, underline: Option<Color>) -> Self
pub const fn underline_color(self, underline: Option<Color>) -> Self
Set underline color
§Examples
let style = anstyle::Style::new().underline_color(Some(anstyle::AnsiColor::Red.into()));
Sourcepub const fn effects(self, effects: Effects) -> Self
pub const fn effects(self, effects: Effects) -> Self
Set text effects
§Examples
let style = anstyle::Style::new().effects(anstyle::Effects::BOLD | anstyle::Effects::UNDERLINE);
Sourcepub fn render(self) -> impl Display + Copy
pub fn render(self) -> impl Display + Copy
Render the ANSI code
Style
also implements Display
directly, so calling this method is optional.
Sourcepub fn write_to(self, write: &mut dyn Write) -> Result<()>
Available on crate feature std
only.
pub fn write_to(self, write: &mut dyn Write) -> Result<()>
std
only.Write the ANSI code
Sourcepub fn render_reset(self) -> impl Display + Copy
pub fn render_reset(self) -> impl Display + Copy
Renders the relevant Reset
code
Unlike Reset::render
, this will elide the code if there is nothing to reset.
Sourcepub fn write_reset_to(self, write: &mut dyn Write) -> Result<()>
Available on crate feature std
only.
pub fn write_reset_to(self, write: &mut dyn Write) -> Result<()>
std
only.Write the relevant Reset
code
Unlike Reset::render
, this will elide the code if there is nothing to reset.
Source§impl Style
impl Style
§Convenience
Source§impl Style
impl Style
§Reflection
Sourcepub const fn get_fg_color(self) -> Option<Color>
pub const fn get_fg_color(self) -> Option<Color>
Get the foreground color
Sourcepub const fn get_bg_color(self) -> Option<Color>
pub const fn get_bg_color(self) -> Option<Color>
Get the background color
pub const fn get_underline_color(self) -> Option<Color>
pub const fn get_effects(self) -> Effects
Trait Implementations§
Source§impl BitOr<Effects> for Style
impl BitOr<Effects> for Style
§Examples
let style = anstyle::Style::new() | anstyle::Effects::BOLD.into();
Source§impl BitOrAssign<Effects> for Style
impl BitOrAssign<Effects> for Style
§Examples
let mut style = anstyle::Style::new();
style |= anstyle::Effects::BOLD.into();
Source§fn bitor_assign(&mut self, other: Effects)
fn bitor_assign(&mut self, other: Effects)
|=
operation. Read moreSource§impl From<Effects> for Style
impl From<Effects> for Style
§Examples
let style: anstyle::Style = anstyle::Effects::BOLD.into();
Source§impl Ord for Style
impl Ord for Style
Source§impl PartialEq<Effects> for Style
impl PartialEq<Effects> for Style
§Examples
let effects = anstyle::Effects::BOLD;
assert_eq!(anstyle::Style::new().effects(effects), effects);
assert_ne!(anstyle::Effects::UNDERLINE | effects, effects);
assert_ne!(anstyle::RgbColor(0, 0, 0).on_default() | effects, effects);
Source§impl PartialOrd for Style
impl PartialOrd for Style
Source§impl Sub<Effects> for Style
impl Sub<Effects> for Style
§Examples
let style = anstyle::Style::new().bold().underline() - anstyle::Effects::BOLD.into();
Source§impl SubAssign<Effects> for Style
impl SubAssign<Effects> for Style
§Examples
let mut style = anstyle::Style::new().bold().underline();
style -= anstyle::Effects::BOLD.into();
Source§fn sub_assign(&mut self, other: Effects)
fn sub_assign(&mut self, other: Effects)
-=
operation. Read moreimpl Copy for Style
impl Eq for Style
impl StructuralPartialEq for Style
Auto Trait Implementations§
impl Freeze for Style
impl RefUnwindSafe for Style
impl Send for Style
impl Sync for Style
impl Unpin for Style
impl UnwindSafe for Style
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 14 bytes