HiveBrain v1.2.0
Get Started
← Back to all entries
snippetrustMajor

How do I print colored text to the terminal in Rust?

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
howtextthecoloredprintrustterminal

Problem

How do I output colored text to the terminal using Rust? I've tried using the special escape characters that I found in this python answer, but they just print literally. Here is my code:
fn main() {
println!("\033[93mError\033[0m");
}

Solution

Rust doesn't have octal escape sequences. You have to use hexadecimal:
println!("\x1b[93mError\x1b[0m");


See also https://github.com/rust-lang/rust/issues/30491.

What happens, and the reason the compiler does not complain, is that \0 is a valid escape sequence in Rust - and represents the NULL character (ASCII code 0). It is just that Rust, unlike C (and Python), does not allow you to specify octal number after that. So it considers the 33 to be normal characters to print.

Context

Stack Overflow Q#69981449, score: 82

Revisions (0)

No revisions yet.