colorable

colorable is a library that makes printing colored output to the console easy.

Get started

Adding colorable as a dependency

toml [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: ```rust use colorable::*;

fn main() { println!("{}", 1.green()); println!("{}", 2.blue().bold()); println!("{}", 3.withfgcolor(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: rust use colorable::*;

fn main() { println!("{}", 1.magenta().withbgcolor(3)); } `` This will produce a magenta3` 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: ```rust use colorable::*;

fn main() { let v = vec![1, 2, 3]; println!("{:?}", v.yellowdbg()); println!("{:?}", v.cyandbg().bold_dbg()); } ```

NOTE

Neither the Colored nor the ColoredDbg type use any kind of formatting flags. This means that the formatting flags on something like this: ```rust use colorable::*;

fn main() { println!("{:#?}", vec![1, 2, 3].darkcyandbg()); } 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: rust use colorable::*;

fn main() { println!("{}", format!("{:#?}", vec![1, 2, 3]).dark_cyan()); } ```