[−][src]Module crossterm::style
A module to apply attributes and colors on your text.
Style
The style
module provides a functionality to apply attributes and colors on your text.
This documentation does not contain a lot of examples. The reason is that it's fairly obvious how to use this crate. Although, we do provide examples repository to demonstrate the capabilities.
Platform-specific Notes
Not all features are supported on all terminals/platforms. You should always consult platform-specific notes of the following types:
Examples
A few examples of how to use the style module.
Colors
How to change the terminal text color.
Command API:
Using the Command API to color text.
use std::io::{stdout, Write}; use crossterm::{execute, Result}; use crossterm::style::{Print, SetForegroundColor, SetBackgroundColor, ResetColor, Color, Attribute}; fn main() -> Result<()> { execute!( stdout(), // Blue foreground SetForegroundColor(Color::Blue), // Red background SetBackgroundColor(Color::Red), // Print text Print("Blue text on Red.".to_string()), // Reset to default colors ResetColor ) }
Functions:
Using functions from Colorize
on a String
or &'static str
to color it.
use crossterm::style::Colorize; println!("{}", "Red foreground color & blue background.".red().on_blue());
Attributes
How to appy terminal attributes to text.
Command API:
Using the Command API to set attributes.
use std::io::{stdout, Write}; use crossterm::{execute, Result, style::Print}; use crossterm::style::{SetAttribute, Attribute}; fn main() -> Result<()> { execute!( stdout(), // Set to bold SetAttribute(Attribute::Bold), Print("Bold text here.".to_string()), // Reset all attributes SetAttribute(Attribute::Reset) ) }
Functions:
Using Styler
functions on a String
or &'static str
to set attributes to it.
use crossterm::style::Styler; println!("{}", "Bold".bold()); println!("{}", "Underlined".underlined()); println!("{}", "Negative".negative());
Displayable:
Attribute
implements Display and therefore it can be formatted like:
use crossterm::style::Attribute; println!( "{} Underlined {} No Underline", Attribute::Underlined, Attribute::NoUnderline );
Structs
Attributes | a bitset for all possible attributes |
ContentStyle | The style that can be put on content. |
A command that prints the given displayable type. | |
PrintStyledContent | A command that prints styled content. |
ResetColor | A command that resets the colors back to default. |
SetAttribute | A command that sets an attribute. |
SetAttributes | A command that sets several attributes. |
SetBackgroundColor | A command that sets the the background color. |
SetForegroundColor | A command that sets the the foreground color. |
StyledContent | The style with the content to be styled. |
Enums
Attribute | Represents an attribute. |
Color | Represents a color. |
Traits
Colorize | Provides a set of methods to set the colors. |
Styler | Provides a set of methods to set the text attributes. |
Functions
available_color_count | Returns available color count. |
style | Creates a |