ansi_rgb/lib.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
#![no_std]
/*!
Colorful console text using [ANSI escape sequences](https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters).
* Very simple API
* Full color (using the [`rgb` crate](https://crates.io/crates/rgb))
* Colors all the [formatting traits](https://doc.rust-lang.org/std/fmt/#formatting-traits)
* `no_std` compliant
# Foreground colors
```rust
use ansi_rgb::{ Foreground, red };
println!("{}", "Hello, world!".fg(red()));
```
Output:
<code style="color: red">Hello, world!</code>
# Background colors
```rust
use ansi_rgb::{ Background, red };
println!("{}", "Hello, world!".bg(red()));
```
Output:
<code style="background: red">Hello, world!</code>
# Mix and match
```toml
# Cargo.toml
[dependencies]
rbg = "0.8"
```
```rust
use ansi_rgb::{ Foreground, Background };
use rgb::RGB8;
let fg = RGB8::new(123, 231, 111);
let bg = RGB8::new(10, 100, 20);
println!("{}", "Yuck".fg(fg).bg(bg));
```
Output:
<code style="color: #7BE76F; background: #0A6414">Yuck</code>
# Anything formattable
```rust
# use ansi_rgb::*;
#[derive(Debug)]
struct Foo(i32, i32);
let foo = Foo(1, 2);
println!("{:?}", foo.fg(green()));
```
Output:
<code style="color: #00FF00">Foo(1, 2)</code>
# Windows users
You need to [set your console mode](https://docs.microsoft.com/en-us/windows/console/console-modes). Otherwise you'll get garbage like this:
`�[48;2;159;114;0m �[0m`
*/
mod background;
mod colors;
mod foreground;
pub use background::*;
pub use colors::*;
pub use foreground::*;