#color #term #terminal #format #style


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

11 releases

0.2.8 Jan 29, 2023
0.2.7 Nov 29, 2022
0.2.6 Sep 9, 2021
0.2.5 Jun 9, 2021
0.1.0 Jul 30, 2020

#68 in Command-line interface

Download history 241/week @ 2023-08-10 381/week @ 2023-08-17 419/week @ 2023-08-24 258/week @ 2023-08-31 387/week @ 2023-09-07 306/week @ 2023-09-14 272/week @ 2023-09-21 345/week @ 2023-09-28 429/week @ 2023-10-05 333/week @ 2023-10-12 375/week @ 2023-10-19 421/week @ 2023-10-26 545/week @ 2023-11-02 773/week @ 2023-11-09 737/week @ 2023-11-16 564/week @ 2023-11-23

2,679 downloads per month
Used in 23 crates


233 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 compiles fairly quickly.

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.