47
|
1 |
Solarized Colorscheme for Emacs |
|
2 |
=============================== |
|
3 |
|
|
4 |
Stolen from Ethan Schoonover <[email protected]> by Greg Pfeil <[email protected]> |
|
5 |
|
|
6 |
Visit the [Solarized homepage] |
|
7 |
------------------------------ |
|
8 |
|
|
9 |
See the [Solarized homepage] for screenshots, |
|
10 |
details and colorscheme versions for Vim, Mutt, popular terminal emulators and |
|
11 |
other applications. |
|
12 |
|
|
13 |
Screenshots |
|
14 |
----------- |
|
15 |
|
|
16 |
 |
|
17 |
|
|
18 |
Downloads |
|
19 |
--------- |
|
20 |
|
|
21 |
If you have come across this colorscheme via the [Emacs-only repository] on |
|
22 |
github, see the link above to the Solarized homepage or visit the main [Solarized repository]. |
|
23 |
|
|
24 |
The [Emacs-only repository] is kept in sync with the main [Solarized repository]. Issues, bug reports, changelogs that are not specific to the Emacs implementation should be submitted to the main [Solarized repository]. |
|
25 |
|
|
26 |
[Solarized homepage]: http://ethanschoonover.com/solarized |
|
27 |
[Solarized repository]: https://github.com/altercation/solarized |
|
28 |
[Emacs-only repository]: https://github.com/sellout/emacs-color-theme-solarized |
|
29 |
[color-theme]: http://www.nongnu.org/color-theme |
|
30 |
|
|
31 |
Installation & Usage |
|
32 |
-------------------- |
|
33 |
|
|
34 |
### Emacs 24 |
|
35 |
|
|
36 |
1. Add the `emacs-color-theme-solarized` directory to your Emacs `custom-theme-load-path`. |
|
37 |
2. Add `(load-theme solarized-[light|dark] t)` to your Emacs init file. |
|
38 |
3. Reload the init file, or restart Emacs. |
|
39 |
|
|
40 |
### [color-theme] \(pre-Emacs 24\) |
|
41 |
|
|
42 |
1. Download and install [color-theme]. |
|
43 |
2. Add the `emacs-color-theme-solarized` directory to your Emacs `load-path`. |
|
44 |
3. Add `(require 'color-theme-solarized)` to your Emacs init file (usually `~/.emacs`). |
|
45 |
3. Reload the init file, or restart Emacs. |
|
46 |
4. Use the usual [color-theme] mechanism to select one of the Solarized themes, or `M-x color-theme-solarized-[light|dark]`. |
|
47 |
|
|
48 |
### IMPORTANT NOTE FOR TERMINAL USERS: |
|
49 |
|
|
50 |
If you are going to use Solarized in Terminal mode (i.e. not in a GUI version |
|
51 |
like Cocoa or X11 Emacs), **please please please** consider setting your |
|
52 |
terminal emulator's colorscheme to use the Solarized palette. The [Solarized |
|
53 |
repository] includes palettes for some popular terminal emulator as well as |
|
54 |
Xdefaults; or you can download them from the official [Solarized homepage]. |
|
55 |
If you use this emacs color theme *without* having changed your emulator's |
|
56 |
palette, you will need to configure Solarized to degrade its colorscheme to |
|
57 |
a set compatible with the terminal's default limited 256 color palette |
|
58 |
(whereas by using the terminal's 16 ANSI color values, you would |
|
59 |
see the correct, specific values for the Solarized palette). |
|
60 |
|
|
61 |
If you do use the custom terminal colors, i.e. the 16 overridden ANSI color |
|
62 |
values, the emacs colorscheme should work out of the box for you. If you are |
|
63 |
using a terminal emulator that supports 256 colors and don't want to use |
|
64 |
the custom Solarized terminal colors, you will need to use the degraded 256 |
|
65 |
colorscheme. To do so, simply customize the `solarized-termcolor` variable to |
|
66 |
`256`. |
|
67 |
|
|
68 |
Again, I recommend just changing your terminal colors to Solarized values |
|
69 |
either manually or via one of the many terminal schemes available for import. |
|
70 |
|
|
71 |
Advanced Configuration |
|
72 |
---------------------- |
|
73 |
|
|
74 |
Solarized will work out of the box with just the instructions specified above |
|
75 |
but does include several variables that can be customized. |
|
76 |
|
|
77 |
variable name default optional |
|
78 |
-------------------------------------------- |
|
79 |
solarized-termcolors = 16 | 256 |
|
80 |
solarized-degrade = nil | t |
|
81 |
solarized-bold = t | nil |
|
82 |
solarized-underline = t | nil |
|
83 |
solarized-italic = t | nil |
|
84 |
solarized-contrast = normal| high, low |
|
85 |
solarized-visibility = normal| high, low |
|
86 |
solarized-broken-srgb= nil | t (see details for Mac behavior) |
|
87 |
-------------------------------------------- |
|
88 |
|
|
89 |
### Option Details |
|
90 |
|
|
91 |
* solarized-termcolors |
|
92 |
|
|
93 |
This is set to *16* by default, meaning that Solarized will attempt to use |
|
94 |
the standard 16 colors of your terminal emulator, assuming that you've set |
|
95 |
these colors to the correct Solarized values either manually or by |
|
96 |
importing one of the many colorscheme available for popular terminal |
|
97 |
emulators and Xdefaults. |
|
98 |
If you don't want to use the Solarized colors via the terminal |
|
99 |
emulator's palette, you can set this to *256*, which will use a degraded |
|
100 |
version of the Solarized palette by displaying the closest colors in |
|
101 |
the terminal's default 256 colors as shown in [Xterm's color |
|
102 |
chart](http://en.wikipedia.org/wiki/File:Xterm_color_chart.png). |
|
103 |
|
|
104 |
* solarized-degrade |
|
105 |
|
|
106 |
For test purposes only; in GUI mode, this forces Solarized to use the 256 |
|
107 |
degraded color mode to test the approximate color values for accuracy. |
|
108 |
|
|
109 |
* solarized-bold | solarized-underline | solarized-italic |
|
110 |
|
|
111 |
If you wish to stop Solarized from displaying bold, underlined or |
|
112 |
italicized typefaces, simply set the appropriate variable to `nil`. |
|
113 |
|
|
114 |
* solarized-contrast |
|
115 |
|
|
116 |
Stick with normal! It's been carefully tested. Setting this option to high |
|
117 |
or low does use the same Solarized palette but simply shifts some values |
|
118 |
up or down in order to expand or compress the tonal range displayed. |
|
119 |
|
|
120 |
* solarized-visibility |
|
121 |
|
|
122 |
Special characters such as trailing whitespace, tabs, newlines, when |
|
123 |
displayed using `:set list` can be set to one of three levels depending on |
|
124 |
your needs. Default value is `normal` with `high` and `low` options. |
|
125 |
|
|
126 |
* solarized-broken-srgb |
|
127 |
|
|
128 |
Emacs [bug #8402](http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8402) |
|
129 |
results in incorrect color handling on Macs. If this is `t` (the default |
|
130 |
on Macs), Solarized works around it with alternative colors. However, |
|
131 |
these colors are not totally portable, so you may be able to edit the |
|
132 |
"Gen RGB" column in `solarized-definitions.el` to improve them further. |
|
133 |
|
|
134 |
Code Notes |
|
135 |
---------- |
|
136 |
|
|
137 |
I have attempted to modularize the creation of Emacs colorschemes in this script and, while it could be refactored further, it should be a good foundation for the creation of any color scheme. By simply changing the values in the `solarized-colors` table in `solarized-definitions.el` and testing in a GUI Emacs, you can rapidly prototype new colorschemes without diving into the weeds of line-item editing each syntax highlight declaration. |
|
138 |
|
|
139 |
The Values |
|
140 |
---------- |
|
141 |
|
|
142 |
L\*a\*b values are canonical (White D65, Reference D50), other values are |
|
143 |
matched in sRGB space. |
|
144 |
|
|
145 |
SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB |
|
146 |
--------- ------- ---- ------- ----------- ---------- ----------- ----------- |
|
147 |
base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 |
|
148 |
base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 |
|
149 |
base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 |
|
150 |
base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 |
|
151 |
base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 |
|
152 |
base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 |
|
153 |
base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 |
|
154 |
base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 |
|
155 |
yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 |
|
156 |
orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 |
|
157 |
red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 |
|
158 |
magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 |
|
159 |
violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 |
|
160 |
blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 |
|
161 |
cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 |
|
162 |
green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 |
|
163 |
|