Skip to content
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

Open
kojoru opened this issue Sep 2, 2019 · 10 comments
Open
Labels
Area-Settings Issues related to settings and customizability, for console or terminal good first issue This is a fix that might be easier for someone to do as a first contribution Help Wanted We encourage anyone to jump in on these. Issue-Docs It's a documentation issue that really should be on MicrosoftDocs/Console-Docs Product-Terminal The new Windows Terminal.

Comments

@kojoru
Copy link
Contributor

kojoru commented Sep 2, 2019

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.

@kojoru kojoru added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Sep 2, 2019
@ghost ghost added Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Sep 2, 2019
@j4james
Copy link
Collaborator

j4james commented Sep 2, 2019

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).

@DHowett-MSFT
Copy link
Contributor

I miss the days when we simply had an indexed array of the first 16 ECMA-48 colors. ☹️

@zadjii-msft zadjii-msft added Area-Settings Issues related to settings and customizability, for console or terminal Issue-Question For questions or discussion Product-Terminal The new Windows Terminal. and removed Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. labels Sep 3, 2019
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Sep 3, 2019
@WSLUser
Copy link
Contributor

WSLUser commented Sep 4, 2019

I think we should re-use in addition to any extra colors we have.

without causing every existing config to break

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.

@ExE-Boss
Copy link

ExE-Boss commented Sep 5, 2019

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.

@zadjii-msft
Copy link
Member

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.

@WSLUser
Copy link
Contributor

WSLUser commented Sep 5, 2019

Can't we have both? We can still stick to ANSI standard while providing the Dark options in addition.

@kojoru
Copy link
Contributor Author

kojoru commented Sep 5, 2019

The original reason for this issue was my genuine confusion over what BrightWhite and BrightBlack actually means when I first opened the config.

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.

@DHowett-MSFT DHowett-MSFT added Issue-Docs It's a documentation issue that really should be on MicrosoftDocs/Console-Docs and removed Issue-Question For questions or discussion Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Sep 5, 2019
@DHowett-MSFT DHowett-MSFT changed the title Proposal: change names of the colors to be consistent with ConsoleColor enum Documentation update: explain the color names and how they related to ECMA-48 Sep 5, 2019
@DHowett-MSFT
Copy link
Contributor

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!

@craigbarnes
Copy link

I miss the days when we simply had an indexed array of the first 16 ECMA-48 colors

But ECMA-48 only specifies 8 colors...

@DHowett-MSFT
Copy link
Contributor

Yes, you have me on a technicality.

@zadjii-msft zadjii-msft removed their assignment May 5, 2022
@zadjii-msft zadjii-msft added Help Wanted We encourage anyone to jump in on these. good first issue This is a fix that might be easier for someone to do as a first contribution labels May 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Settings Issues related to settings and customizability, for console or terminal good first issue This is a fix that might be easier for someone to do as a first contribution Help Wanted We encourage anyone to jump in on these. Issue-Docs It's a documentation issue that really should be on MicrosoftDocs/Console-Docs Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

7 participants