module term import os pub fn can_show_color_on_stdout() bool { return supports_escape_sequences(1) } pub fn can_show_color_on_stderr() bool { return supports_escape_sequences(2) } fn supports_escape_sequences(fd int) bool { $if windows { return (is_atty(fd) & 0x0004) > 0 && os.getenv('TERM') != 'dumb' // ENABLE_VIRTUAL_TERMINAL_PROCESSING } $else { return is_atty(fd) > 0 && os.getenv('TERM') != 'dumb' } } // //////////////////////////////////////////// pub fn ok_message(s string) string { return if can_show_color_on_stdout() { green(s) } else { s } } pub fn fail_message(s string) string { return if can_show_color_on_stdout() { red(s) } else { s } }