Expand description
colorable is a library that makes printing colored output to the console easy.
§Get started
§Adding colorable as a dependency
[dependecies]
colorable = "0.1"That’s the only dependency you need
§Usage
colorable allows you to style console output using ANSI escape sequences.
It allows this for any types that implement std::fmt::Display or std::fmt::Debug.
§How to use on types that implement std::fmt::Display
Basic example:
use colorable::*;
fn main() {
println!("{}", 1.green());
println!("{}", 2.blue().bold());
println!("{}", 3.with_fg_color(124).italic());
}This will produce a green 1, a bold blue 2 and a red italic 3. The 124 in the last line corresponds to the ANSI color code for this shade of red.
You can also set the background of the output like so:
use colorable::*;
fn main() {
println!("{}", 1.magenta().with_bg_color(3));
}This will produce a magenta 3 on blue background. Currently setting the background
only works through explicit color codes which you can find here
§How to use on types that implement std::fmt::Debug
The API for using colors and styles on objects that implement std::fmt::Debug is exactly the same as it for std::fmt::Display, except that every
method has a _dbg suffix. This is done to avoid name clashing on types that implement both std::fmt::Debug and std::fmt::Display.
The example from above could look something like this:
use colorable::*;
fn main() {
let v = vec![1, 2, 3];
println!("{:?}", v.yellow_dbg());
println!("{:?}", v.cyan_dbg().bold_dbg());
}§NOTE
Neither the Colored
use colorable::*;
fn main() {
println!("{:#?}", vec![1, 2, 3].dark_cyan_dbg());
}will simply be ignored and the output won’t be pretty printed. If you want to use formatting flags, you can do something like this:
use colorable::*;
fn main() {
println!("{}", format_args!("{:#?}", vec![1, 2, 3]).dark_cyan());
}Structs§
- Ansi
Color - This struct contains the colors as well as the style needed for good colored output
- Colored
- This struct is used for colored output of types that implement
std::fmt::Display - Colored
Dbg - This struct is used for colored output of types that implement
std::fmt::Debug