<<- home <<- thoughts
ATTENTION(7m) 7m (r--) ATTENTION(7m)

Payne's grayscalenot a color scheme.

A monochromatic approach to syntax highlighting schemes that feels intuitive, looks good, and conveys useful information.

It isn't a color scheme, it's an scheme.

I used to shop around for color schemes pretty frequently. Never could find one I was fully satisfied with. Some aspects would appeal to me, others were garish or distasteful.

After a time, building the “perfect” theme became a fixation. I'd periodically swap out a color, increase the saturation of another. Then start all over again.

I've finally reached (my) ideal scheme. It's seen use for several years now, with only minimal tweaks.

The intent of syntax highlighting is to aid in understanding, and add information, to a block of code.

I don't find the modern trend of high-contrast, unicorn-vomit themes accomplishes this aim. Is it useful for methods to be highlighted in bright magenta, and function calls in teal? What substantive information does this tell us?

A scheme based upon importance, and where your attention should go. (See FILES section for examples.) The guiding principals are as follows:

must aid in understanding of the text, and must be kept to a minimum.

A singular accent color is used for text that is intrinsically different from its surroundings. Typically strings. It's important to instantaneously recognize code from non-code. Shades of this accent may be used for other significant, distinct constructs. Types, for example.

should mirror code importance.

The eye is drawn to high contrast. A very bright white on a black background is more visually distinct than a mid-grey. Colors should 'pop' to carry information. Control flow is important to easily distinguish, thus it is useful to increase contrast. Comments can be pushed to the background, and require more intentionality to read.

Scanning code becomes trivial. My eye, jumping from high-contrast to high-contrast, automatically selects for high significance.

Payne's grayscale
My neovim colorscheme.

buffy.lua
Example lua.

conf.sh
Example bash.

Wonderful themes. Dark, minimal, sparse color. Legibility suffers a little, but great inspiration, and a serviceable base to build from.

April 29, 2025 carlinigraphy