-
Notifications
You must be signed in to change notification settings - Fork 8.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Documentation update: explain the color names and how they related to ECMA-48 #2641
Comments
I assume the names are mostly based on the ANSI ECMA-48 standard (you can see the colors listed on Wikipedia) except they're using purple instead of magenta. And while the standard only defined 8 colors, the increased intensity attribute was often used to produce brighter versions of each of them, hence the BrightXXX variants. And even if you think the .NET names are better, they couldn't really change them now without causing every existing config to break (under the existing scheme, Blue defines the dark shade of blue, but with .NET names, it would be defining the bright shade). |
I miss the days when we simply had an indexed array of the first 16 ECMA-48 colors. |
I think we should re-use in addition to any extra colors we have.
That is the only problem. We'll need a script to modify the existing config after Terminal is updated. New installs won't require it. |
I think we should do this while Windows Terminal is still in the preview 0.x version, which allows (and expects) breaking changes according to semantic versioning. |
Honestly, I kinda like the Red/BrightRed pairings more than the DarkRed/Red pairings. @j4james is correct that we were trying to follow the ANSI standard. Either one we pick is going to result in some subset of the population unhappy with our choice here. We definitely shouldn't be using "purple" as a color name, that was definitely an oversight. That should be magenta. |
Can't we have both? We can still stick to ANSI standard while providing the Dark options in addition. |
The original reason for this issue was my genuine confusion over what Those terms are pretty much ungoogleable until you know what you're looking for. I doubt that terminology is known outside of the circle of people who are actually working on implementing console-related stuff. Not having any confusing names in it is the main reason I think ConsoleColor enum is objectively better, beyond simply bikeshedding. But if you decide otherwise, at least the issue calls for more documentation. I imagine something like a table explaining different ways of naming colors for consoles that's easily available for someone editing the colors. |
We're probably not going to make changes to the names of the colors we support (withholding possible updates for purple->magenta), but we're happy to document why the brights are they way they are. Sorry for the confusion! |
But ECMA-48 only specifies 8 colors... |
Yes, you have me on a technicality. |
Description of the new feature/enhancement
Currently colors in the config are names in what arguably is a somewhat confusing way. E. g. it's not immediately obvious what "BrightBlack" or "BrightWhite" actually is.
It's also not clear if those names are consistent with any other public color names?
Proposed technical implementation details
Can we reuse .NET's ConsoleColor enum instead?
https://docs.microsoft.com/en-us/dotnet/api/system.consolecolor?view=netframework-4.8
It's already used in .NET and powershell, and is widely known.
The text was updated successfully, but these errors were encountered: