Я бы хотел отключить цвета, когда вывод передается куда-то еще, кроме терминала.
В переводе на язык POSIX ваш вопрос будет звучать так: «это стандартный вывод, а не TTY», поэтому ответ на * nix можно получить с помощью !isatty(STDOUT_FILENO).Ящик libc можно использовать для вызова этого из Rust.
!isatty(STDOUT_FILENO)
В Windows это сложно, поэтому лучше использовать ящик atty .