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");
}
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.