#color #term #terminal #format #style


Simple macros to write colored and formatted text to a terminal. Based on termcolor, thus also cross-platform

4 releases

new 0.2.1 Sep 20, 2020
0.2.0 Sep 13, 2020
0.1.1 Sep 5, 2020
0.1.0 Jul 30, 2020

#110 in Command-line interface

32 downloads per month
Used in rgc


57 lines

Bunt: simple macro-based terminal colors and styles

CI status of master Crates.io Version docs.rs

bunt offers macros to easily print colored and formatted text to a terminal. It is just a convenience API on top of termcolor. bunt is implemented using procedural macros, but it does not depend on syn and its compilation is fairly quick (≈1.5s on my machine, including all dependencies).

Minimum Supported Rust Version: 1.46.0

// Style tags will color/format text between the tags.
bunt::println!("I really like {$yellow}lemons{/$}! Like, {$blue+italic}a lot{/$}.");

// To style a single argument, you can also use the `{[style]...}` syntax. This
// can be combined with style tags.
let v = vec![1, 2, 3];
bunt::println!("Here is some data: {[green]:?}. {$bold}Length: {[cyan]}{/$}", v, v.len());

See the documentation for more information.

Status of this project

This is still a young project, but I already use it in two applications of mine. The syntax is certainly not final yet. Seeking feedback from the community!


Licensed under either of Apache License, Version 2.0 or MIT license at your option. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.