Repository navigation
Accessibility
Railscasts balances historical fidelity with readable modern editing surfaces.
Contrast measurements use the default #2B2B2B background and the WCAG
relative-luminance formula.
| Token | Contrast | Typical role |
|---|---|---|
beige_grey |
10.90:1 | Primary text |
white |
12.86:1 | Strong text |
light_orange |
9.14:1 | Functions |
purple |
9.54:1 | Properties, object keys, member fields, and labels |
yellow |
10.93:1 | Search |
moss |
7.07:1 | Numbers |
light_green |
5.61:1 | Strings and additions |
blue |
4.83:1 | Booleans and info |
cyan |
4.82:1 | Changes and visual mode |
dark_orange |
4.25:1 | Keywords and warnings |
red |
3.37:1 | Types, constants, errors, and deletions |
light_brown |
3.32:1 | Comments and metadata |
- Special syntax and diff additions use
light_greenrather than low-contrastdark_green. - Statements and warnings use
dark_orangerather than lower-contrast brown or maroon shades. - Delimiters use primary text rather than the low-contrast separator gray.
- Tabline and Lualine secondary surfaces use
greywithbeige_greytext. - Inactive Lualine primary segments use black text on warm
light_grey; secondary segments usebeige_greyongrey, and the fill usesbeige_greyon the base background. - Properties and object keys use lavender instead of red to distinguish them from types and constants; Tree-sitter and LSP share the same property role.
Comments, some diagnostic colors, and legacy UI metadata retain muted tones to preserve the original Railscasts hierarchy. They should not be the sole carrier of meaning.
Enable high_contrast when muted text needs more separation. Diagnostics and
diffs also use signs, underlines, or distinct groups so color is not their sole
carrier of meaning. Supported UI integrations inherit the same semantic groups
in high-contrast, transparent, and dimmed-inactive configurations.
With darker_background = true, Railscasts uses #1F1F1F. Primary text reaches
12.69:1 contrast, strong text 14.97:1, functions 10.64:1, strings 6.54:1,
booleans 5.62:1, and keywords 4.95:1. Muted comments rise to 3.86:1 and errors
to 3.92:1. Enable high_contrast when muted text needs additional separation.
Lavender properties and object keys reach 11.11:1 against this darker surface.
The darker background keeps syntax and UI roles unchanged and cannot be combined
with transparent = true, which defers the surface to the terminal or GUI.
See Configuration for setup options and Properties and object keys for the color distinction's rationale.