Crates.io | stylic |
lib.rs | stylic |
version | 0.2.3 |
source | src |
created_at | 2024-09-01 13:21:50.910771 |
updated_at | 2024-09-06 17:40:35.185279 |
description | A simple, fast library for styling text with ANSI escape codes |
homepage | |
repository | https://github.com/SamuelMcGowan/stylic |
max_upload_size | |
id | 1359623 |
size | 59,436 |
A simple, fast library for styling text with ANSI escape codes.
#![no_std]
supportUse 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:
bold
dim
italic
underline
blink
reverse
hidden
strikethrough
Available colors include basic ANSI colors, the extended 256-color palette, and RGB colors.
The ANSI colors are:
black
red
green
yellow
blue
magenta
cyan
white
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));
Use the set_style_enabled
function from the enable
module to globally enable or disable styling. See the module documentation for more information.