A library that provides a function to fix ANSI escaping problem in Windows.
Simply run setup_console::init()
in the main function before printing anything.
rs
fn main() {
println!("\x1b[31mRed \x1b[32mGreen \x1b[34mBlue\x1b[39m");
// ・[31mRed ・[32mGreen ・[34mBlue・[39m
setup_console::init();
println!("\x1b[31mRed \x1b[32mGreen \x1b[34mBlue\x1b[39m");
// Red Green Blue
}
This only applies to Windows.
This function doesn't panic, but shows message and terminates program with error code obtained from
GetLastError()
instead.
The situations that would lead program to terminate would be
- when stdout is invalid (e.g. program 1>nul
)
- when program fails to run GetConsoleMode()
- when program fails to run SetConsoleMode()