I suggest using the environment variables CLICOLOR and CLICOLOR_FORCE for enabling colors. CLICOLOR=0 would be --color=never and CLICOLOR_FORCE=1 --color=always.
Why environment variables when there is already a command line switch? When working with build systems, editors or continuous integration servers output almost always gets piped or buffered, so a switch to force colored output is needed. When we agree upon a standard for this, the only thing one would need to do in such a situation is to define CLICOLOR_FORCE=1
. I've also created a page with a summary: Standard for ANSI Colors in Terminals Please tell me what you think
Btw: CMake (used by LLVM) already respects this environment variable to color the Make output.
Corresponding PR: https://github.com/rust-lang/rust/pull/27867