yansi 0.4.0

A dead simple ANSI terminal color painting library.


Build Status 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.


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

  • This library is much simpler: there are three types!
  • Unlike ansi_term or colored, any type implementing Display or Debug can be stylized, not only strings.
  • Styling can be enabled and disabled globally, 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 API ideas from the three libraries as well as implementation details from ansi_term.


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