trisquel-icecat/icecat/third_party/cbindgen/vendor/yansi
2025-07-17 09:32:21 -06:00
..
src icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
.cargo-checksum.json icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
Cargo.toml icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
LICENSE-APACHE icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
LICENSE-MIT icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00
README.md icecat: initial release for Trisquel 12.0, Ecne 2025-07-17 09:32:21 -06:00

yansi

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.

Why?

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.
  • Styling can wrap any arbitrarily styled item.
  • 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.

License

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