tree: 74a5df0bdd575a04dda923394bcbcf8302ab8bb1 [path history] [tgz]
  1. src/
  2. Cargo.toml
  3. LICENSE-APACHE
  4. LICENSE-MIT
  5. README.md
  6. x86_64-unknown-linux-sgx.json
third_party/yansi/README.md

yansi

Current Crates.io Version Documentation

A dead simple ANSI terminal color painting library for Rust.

use yansi::Paint;

print!("{} light, {} light!", Paint::green("Green"), Paint::red("red").underline());

See the documentation for more.

Why?

Several terminal coloring libraries already exist for Rust (ansi_term, colored, term_painter, to name a few), begging the question: why yet another? Here are a few reasons for yansi:

  • This library is much simpler: there are two types! The complete implementation is only about 250 lines of code.
  • Like term_painter, but unlike ansi_term, any type implementing Display can be stylized, not only strings.
  • Styling can be enabled and disabled on the fly.
  • Arbitrary items can be masked for selective disabling.
  • Typically, only one type needs to be imported: Paint.
  • Zero dependencies. It really is simple.
  • The name yansi is pretty short.

All that being said, this library borrows the general API of existing libraries as well as plenty of code from ansi_term.

License

yansi is licensed under either of the following, at your option: