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

Add 'ansi-color-*' faces for Emacs 28.1 #433

Merged
merged 1 commit into from
Jun 19, 2022

Conversation

woolsweater
Copy link
Contributor

@woolsweater woolsweater commented Apr 30, 2022

Emacs 28 introduced new faces for ANSI color codes, that are applied by the ansi-color-compilation-filter function. This adds Solarized color mappings for those faces.

I don't know whether there are great options for the 'black' and 'white' faces (and their 'bright' variants). I left 'white' at its default, and made the best choice I could for 'black', that hopefully makes sense for both dark and light palettes. I'm very open to alternate suggestions for those.

Default colors:

Screen Shot 2022-04-30 at 10 41 11 AM

With this patch:

Screen Shot 2022-04-30 at 10 53 43 AM


Before submitting a PR make sure the following things have been done (and denote this
by checking the relevant checkboxes):

  • You've added a before/after screenshot illustrating visually your changes.
  • You've updated the readme (if adding/changing configuration options) N/A

Thanks!

@bbatsov bbatsov merged commit 94e7c34 into bbatsov:master Jun 19, 2022
@bbatsov
Copy link
Owner

bbatsov commented Jun 19, 2022

It seems to me there's room for improvement, but I don't have time to dive deeper into this. I guess we can refine the faces down the road. Thanks for tackling this!

@thomasf
Copy link
Collaborator

thomasf commented Jun 19, 2022

I was holding off merging this because they maybe should be the solarized 16 color palette rather than a custom one. But sure, lets go with this for now.,

There is some setting for a xterm-color package that seems to set the solairzed 16 color palette so how we probably have both ways for different packages.

@bbatsov
Copy link
Owner

bbatsov commented Jun 19, 2022

Roger that. I just figured that some Solarized colors were better than the default colors. Anyways, those are type of things we can always address incrementally.

@woolsweater
Copy link
Contributor Author

I'm not sure what you mean by the "16 color palette" @thomasf , but if you point me in the right direction I'm happy to try to do a follow up patch.

@thomasf
Copy link
Collaborator

thomasf commented Jun 19, 2022

From the official solarized page there is a termcol mapping column in the mapping list

SOLARIZED HEX     16/8 TERMCOL  XTERM/HEX   L*A*B      RGB         HSB
--------- ------- ---- -------  ----------- ---------- ----------- -----------
base03    #002b36  8/4 brblack  234 #1c1c1c 15 -12 -12   0  43  54 193 100  21
base02    #073642  0/4 black    235 #262626 20 -12 -12   7  54  66 192  90  26
base01    #586e75 10/7 brgreen  240 #585858 45 -07 -07  88 110 117 194  25  46
base00    #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195  23  51
base0     #839496 12/6 brblue   244 #808080 60 -06 -03 131 148 150 186  13  59
base1     #93a1a1 14/4 brcyan   245 #8a8a8a 65 -05 -02 147 161 161 180   9  63
base2     #eee8d5  7/7 white    254 #e4e4e4 92 -00  10 238 232 213  44  11  93
base3     #fdf6e3 15/7 brwhite  230 #ffffd7 97  00  10 253 246 227  44  10  99
yellow    #b58900  3/3 yellow   136 #af8700 60  10  65 181 137   0  45 100  71
orange    #cb4b16  9/3 brred    166 #d75f00 50  50  55 203  75  22  18  89  80
red       #dc322f  1/1 red      160 #d70000 50  65  45 220  50  47   1  79  86
magenta   #d33682  5/5 magenta  125 #af005f 50  65 -05 211  54 130 331  74  83
violet    #6c71c4 13/5 brmagenta 61 #5f5faf 50  15 -45 108 113 196 237  45  77
blue      #268bd2  4/4 blue      33 #0087ff 55 -10 -45  38 139 210 205  82  82
cyan      #2aa198  6/6 cyan      37 #00afaf 60 -35 -05  42 161 152 175  74  63
green     #859900  2/2 green     64 #5f8700 60 -20  65 133 153   0  68 100  60

However it does some times cause problems of it's own with some terminal programs so some times you might want something else and that was why I didn't opt for reverting this merge. It generally works very well though.

@woolsweater
Copy link
Contributor Author

I see, thanks! I was unaware of that. I can definitely understand wanting to match the official website, however the mappings of the brights colors to greys seem very odd to me (e.g. "bright green" to "base01").

@thomasf
Copy link
Collaborator

thomasf commented Jun 20, 2022

That is how the original palette is designed and terminal emulator themes generally follows that convention. I like the subdued look of solarized and not using too many colors where it is avoidable is a pretty big part of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants