[−][src]Crate colorable
colorable is a library that makes printing colored output to the console easy.
Get started
Adding colorable as a dependency
[dependecies]
colorable = "0.1.0"
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!("{:#?}", vec![1, 2, 3]).dark_cyan()); }
Structs
AnsiColor | 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 |
ColoredDbg | This struct is used for colored output of types that implement |