Crate colored_str
source ·Expand description
Coloring terminal by parsing string content
This crate is an extension to the colored crate that enables terminal coloring. It provides a trait and a macro to parse a given string that incorporates style flags.
Usage
This crate is on crates.io and can be used
by adding colored-str to your dependencies in your project’s Cargo.toml.
[dependencies]
colored-str = "0.1.5"
How to use
Styles must be written within <...> opening flag and </> closing flag.
Style variations must be written within <+...> opening flag and <-> closing flag.
See below examples.
Limitations
Blocks cannot be overlapped
Such code <red> ... <blue> ... </> ... </> will not work properly.
This is true as well for variations : <red><+blue> ... <+bold> ... <-><-></> will not work properly.
A style cannot be removed
With <red+bold> ... here I want to keep red only => impossible </>.
The workaround is as follows: <red> <+bold> ... <-> here I have red only </>
Examples
use colored_str::coloredln;
coloredln!("<red>this is red</>");
coloredln!("<#FF0000>this is also red</>");
coloredln!("<blue+red>this is red again</>");
coloredln!("<red+on_blue>this is red on blue</>");
coloredln!("<red+on_#0000FF>this is also red on blue</>");
coloredln!("<bold>this is bold</>");
coloredln!("<red>there is a first line\nthen a second</>");You can add variables as per println!
use colored_str::coloredln;
let message = "this is red";
coloredln!("<red>{message}</>");
coloredln!("<red>{}</>", message);You can add styles adjustments in a block
use colored_str::coloredln;
coloredln!("<red>this is red <+bold>this is red and bold<-> then red again </>");
coloredln!("<red>this is red <+bold+on_blue>this is red on blue and bold<-> then red again </>");You can also use it as a trait
use colored_str::Colored;
let s: String = "<red>this is red</>".colored().to_string();
println!("{}", s);List of styles
Colors
blackredgreenyellowbluemagentapurplecyanwhite
All can be used as backgound using on_ prefix.
Light/Bright Colors
lblacklredlgreenlyellowlbluelmagentalpurplelcyanlwhite
All can be used as backgound using on_ prefix.
Decorations
boldunderlineitalicdimmedreversereversedblinkhiddenstrikethrough
True colors
#RRGGBBon_#RRGGBB
Macros
- Creates a new
Stringby parsing given text. - Print colored text to standard output.
- Print colored text to standard output with newline at the end.
Traits
- The trait that enables a string to be colorized
Functions
- Creates a new
ColoredStringby parsing given text.