|
1 | | -Syntax highlighting design principles |
2 | | -------------------------------------- |
3 | | - |
4 | | -Here are some general guidelines for deciding which types of tokens should be |
5 | | -colored with which color: |
6 | | - |
7 | | -- overall effect shouldn't be overwhelming - don't color everything, strive for |
8 | | - harmony (compare with [this monokai |
9 | | - example](https://i.imgur.com/ATVTHr6.png), which has colors all over the |
10 | | - place) |
11 | | -- contrasting colors shouldn't appear next to each other too often |
12 | | -- structurally most important elements should be most visible |
13 | | -- less important content should be visually "in the background" |
14 | | -- short tokens (and punctuation, if it's to be colored) should preferably use |
15 | | - stronger colors |
16 | | -- long tokens should use "softer" colors to avoid making the result too |
17 | | - aggressive |
18 | | -- rare tokens should use a color that draws attention and is not used by some |
19 | | - common tokens |
20 | | -- try to leverage common color associations wherever possible (e.g. red -> |
21 | | - problem, green -> no problem) |
22 | | -- warm colors (orange, yellow) are best for tokens associated with action |
23 | | -- cold colors (cyan, blue) are best for things that don't change |
24 | | -- [non-spectral colors](https://en.wikipedia.org/wiki/Spectral_color) (purple, |
25 | | - magenta) are best for things with special meaning/behavior |
26 | | - |
27 | | -This means that, for example: |
28 | | - |
29 | | -- comments must be gray, so that they fade into background (unlike many schemes |
30 | | - in which comments are green and clutter the view) |
31 | | -- function and class definitions must be clearly visible from distance (perhaps |
32 | | - bright bold foreground) |
33 | | -- orange is a good color for numbers |
34 | | -- exceptions should probably be bold and they must not be green |
35 | | -- preprocessor, interpolation, macros and other meta-processing things "feel" |
36 | | - magenta |
37 | | -- cyan is a good color for `CONSTANTS` |
38 | | -- should boilerplate be blue? or gray? or not colored at all? |
39 | | - |
40 | | - |
41 | | -Development |
42 | | ------------ |
43 | | - |
44 | | -Selenized is still work-in-progress. Here are some of my plans for the future: |
45 | | -- add ready-to-use config files for more terminals |
46 | | -- support more command-line programs (add selenized skins/configs for them - in |
47 | | - particular I'd like to fine-tune dircolors to look as good as possible with |
48 | | - Selenized) |
49 | | -- add a dark-on-light variant of the palette |
50 | | -- extend Selenized to 8 accent colors (add orange and violet, like in |
51 | | - Solarized) |
52 | | -- add color schemes for popular IDEs |
53 | | -- add a script that would allow [adjusting Selenized to your taste](#forking) |
54 | | - using a web interface |
55 | | -- maybe even create a library that would allow adjusting LAB lightness in |
56 | | - arbitrary color palettes based on the experience I got creating Selenized |
57 | | -- research perceptually uniform color spaces - maybe they could be used to |
58 | | - improve consistency of Selenized colors even further? See |
| 1 | +Contributing to Selenized |
| 2 | +========================= |
| 3 | + |
| 4 | +Development roadmap |
| 5 | +------------------- |
| 6 | + |
| 7 | +Selenized is quite complete, but there are some things that could still be done. |
| 8 | +Some ideas for the future: |
| 9 | + |
| 10 | +- better, more nuanced syntax highlighting rules (see [issue |
| 11 | + 68](https://github.com/jan-warchol/selenized/issues/68)) |
| 12 | +- web interface for [adjusting Selenized to your taste](#forking) |
| 13 | +- a library that would allow "fixing" existing color palettes (by adjusting Lab |
| 14 | + lightness of their colors while keeping original hue and saturation) |
| 15 | +- learn more about perceptually uniform color spaces - maybe they could be used |
| 16 | + to improve consistency of Selenized colors even further? See |
59 | 17 | [here](www.brucelindbloom.com/UPLab.html) and |
60 | 18 | [here](https://en.wikipedia.org/wiki/Munsell_color_system). |
61 | 19 |
|
62 | | -If you'd like to help with any of these, please get in touch - open a pull |
63 | | -request or contact me at jan.warchol@gmail.com. |
| 20 | +And of course, adding support for more programs, terminals, editors, IDEs etc. |
64 | 21 |
|
65 | | -Also, open an issue if you found a program that doesn't look good with |
66 | | -Selenized terminal or encountered a situation where Selenized was not readable |
67 | | -enough. Until version 1.0 I'm open to suggestions on adjusting the colors. |
| 22 | +If you'd like to help but are not sure where to start, contact me at |
| 23 | +jan.warchol@gmail.com. Also, please [open an |
| 24 | +issue](https://github.com/jan-warchol/selenized/issues) if you found a program |
| 25 | +that doesn't look good with Selenized colors in your terminal. |
68 | 26 |
|
69 | 27 |
|
70 | 28 |
|
71 | | -Forking |
72 | | -------- |
| 29 | +Customization |
| 30 | +------------- |
73 | 31 |
|
74 | 32 | You are welcome to adjust Selenized to your taste - I can imagine that some |
75 | 33 | people may want to change the hue of the background/content colors or adjust |
|
0 commit comments