Expand description
A simple, fast library for styling text with ANSI escape codes.
§Features
- Simple, intuitive API
- Fast, no allocations
#![no_std]support- No dependencies
- Supports hyperlinks
- Supports globally enabling and disabling styling
§Usage
Use the style function to create a Styled value which can be styled using methods from the Stylize trait and can be displayed.
use stylic::{style, Stylize};
println!("{}", style("Hello, World!").green().italic());The Stylize trait provides methods for setting the foreground color, background color, underline color, and attributes of the text (such as bold, italic, etc).
Available attributes are:
Available colors include basic ANSI colors, the extended 256-color palette, and RGB colors.
The ANSI colors are:
Plus bright variants.
There are methods on the Style struct for setting the foreground color, background color and underline color to basic ansi colors:
use stylic::{BasicColor, Color, Stylize, style};
println!("{}", style("Hello, World!").black().on_blue());There are also fg, bg and underline_colored methods that take a Color or any other value implementing Into<Color>, allowing the use of colors from the extended 256-color palette and RGB colors:
use stylic::{BasicColor, Color, Stylize, style};
// Setting the foreground color to red.
println!("{}", style("Hello, World!").fg(Color::Basic(BasicColor::Red)));
println!("{}", style("Hello, World!").fg(BasicColor::Red));
// Setting the background color to a color from the 256-color palette.
println!("{}", style("Hello, World!").bg(Color::Extended(58)));
println!("{}", style("Hello, World!").bg(58));
// Setting the underline color to a RGB color.
println!("{}", style("Hello, World!").underline_colored(Color::Rgb(255, 0, 255)));
println!("{}", style("Hello, World!").underline_colored((255, 0, 255)));Styles can also be created and stored for later use:
use stylic::{style, Style, Stylize};
let my_style = Style::new().bold().bright_blue();
println!("{}", style("Hello, World!").apply(my_style));§Enabling and disabling styling
Use the set_style_enabled function from the enable module to globally enable or disable styling. See the module documentation for more information.
Modules§
- Globally enable or disable styling.
Macros§
- Format a string lazily.
- Format a string with a style.
Structs§
- Attributes such as bold, italic, etc.
- A style!
- A styled value that implements
Display. - A styled value with a URI, that implements
Display.
Enums§
- A color from the basic 16-color palette.
- A color.
Traits§
- This trait provides methods for modifying the style of a value.
Functions§
- Create a styled link.
- Create a styled value.