Description
Currently, console color is disabled by checking to see if the console output is redirected or not.
I understand why this was done because there are scenarios that don't support ANSI escape sequences and the output looks really ugly in those scenarios when a bunch of non-rendered ANSI escape sequences are mixed into the output of the CLI.
There is a standard that a lot of other CLI systems use to disable these ANSI escape sequences using an environment variable called NO_COLOR
here: https://no-color.org/
This may seem trivial, but when all CI systems like Jenkins, AppVeyor, GitHub Actions and pretty much every single other CI system simply record the redirected console output of the build resulting in a big blob of monotone text and a human is expected to look at that output and quickly identify the issues then it becomes a big problem for usability with .NET Core as a whole.
I am proposing that .NET Core is changed to enable ANSI color sequences by default and that it checks for the NO_COLOR
environment variable to disable them.
This issue is being created after a discussion about this topic here: microsoft/vstest#2370