LANE 02a / EDITORS · NORMALLED

Flagship themes

GitHub Colorblind (Primer) — protanopia & deuteranopia

The most widely deployed CVD themes in existence: shipped to every github.com user (beta announcement, 2021-09-29, renamed “Protanopia & Deuteranopia”, 2022-04-19), generated from design tokens in primer/primitives (MIT) and consumed downstream by the GitHub VS Code theme, the Neovim port projekt0n/github-nvim-theme, iTerm2 ports, and base16/tinted-theming schemes. Separate Tritanopia variants exist (changelog).

The signature move: dark-mode fgColor-success #3fb950 (green) → #58a6ff (blue); fgColor-danger #f85149 (red) → #f0883e (orange).

bgfgkeywordfuncstringnumbertypecomment
Dark#0d1117#e6edf3#ec8e2c#d2a8ff#a5d6ff#79c0ff#ffa657#8b949e
Light#ffffff#1f2328#b35900#6639ba#0a3069#0550ae#953800#57606a

GitHub Dark Colorblind editor mock

GitHub Dark Colorblind CVD simulation strip

GitHub Light Colorblind editor mock

GitHub Light Colorblind CVD simulation strip

Note the tritanopia row: it is the only simulation where these hues visibly shift — this theme pair targets red-green CVD; GitHub ships separate tritanopia themes for that axis.

Modus themes (Emacs) — deuteranopia & tritanopia

By Protesilaos Stavrou. Canonical in Emacs (built-in since Emacs 28; protesilaos.com/emacs/modus-themes, repo, GPL-3.0). Four dedicated CVD variants: modus-operandi-deuteranopia / -tritanopia (light), modus-vivendi-deuteranopia / -tritanopia (dark). The whole family is WCAG AAA (≥7:1 contrast); CVD variants additionally re-route semantic colors off the confused axis. Ported to Neovim and Zed (all 8 variants), plus iTerm2.

bgfgredgreenyellowbluemagentacyan
Operandi (light)#ffffff#000000#a60000#006800#695500#0031a9#721045#005e8b
Vivendi (dark)#000000#ffffff#ff5f59#44bc44#cabf00#2fafff#feacd0#00d3d0

Modus vivendi deuteranopia editor mock

Modus vivendi deuteranopia CVD strip

Modus operandi deuteranopia editor mock

Modus operandi deuteranopia CVD strip

ef-themes (Emacs) — the second CVD Emacs family, errors remapped to yellow

Also by Protesilaos Stavrou (repo, GPL-3.0; GNU ELPA + MELPA as ef-themes). Alongside modus, this is the second CVD-specific Emacs family — the ef CVD quartet: ef-deuteranopia-dark, ef-deuteranopia-light, ef-tritanopia-dark, ef-tritanopia-light. The signature design move is different from modus: semantic mappings route err → yellow-warmer and warning → yellow-cooler, so errors are yellow, not red. Source comment: “Most of the colors here, like the red and green hues, are defined simply to preserve compatibility… We don’t actually rely on them for anything critical.”

bgfgredgreenyellowbluemagenta
ef-deuteranopia-dark#000a1f#ddddee#cf8560#3faa26#aa9f32#3f90f0#b379bf
ef-deuteranopia-light#f5f5ff#1a1a2f#d3303a#217a3c#805d00#375cd8#ba35af

ef-deuteranopia-dark editor mock

ef-deuteranopia-dark CVD strip

ef-deuteranopia-light editor mock

ef-deuteranopia-light CVD strip

The four Ef variants ship in WezTerm’s built-in scheme index (Ef-Deuteranopia-Dark/Light, Ef-Tritanopia-Dark/Light) alongside three Modus ports — making WezTerm one of the few terminals with first-party CVD schemes.

Pierre — four CVD themes with a build-time simulation gate

From Pierre Computer Company: pierre-{light,dark}-{protanopia-deuteranopia,tritanopia} (repo, npm @pierre/theme, Apache-2.0; also generates Zed and VS Code themes). The most rigorously engineered entry in this report: packages/theme/ACCESSIBILITY.md documents a hard build gate that simulates every chromatic role under Machado (2009) in both linear-RGB and gamma-sRGB and fails the build if CIEDE2000 ΔE < 11 (diffs, merges, terminal red/green) or < 8 (diagnostics, core syntax). Signals remap to the preserved axis: blue↔orange for red-green CVD, red↔teal/cyan for tritanopia.

Pierre dark protan/deutan editor mock

Pierre dark protan/deutan CVD strip

Pierre light protan/deutan editor mock

Pierre light protan/deutan CVD strip

datum — Okabe–Ito hues, rebuilt in OKLCH

By w0zro (repo, site, MIT, 2026) — the newest entry. Hue angles anchored on the Okabe–Ito set, placed in OKLCH, “verified against WCAG 2.2 and APCA” and simulated against all three dichromacies. Ships for Neovim/Vim, VS Code, Ghostty, Kitty, Alacritty, WezTerm, tmux, fzf, bat, delta, and in iTerm2-Color-Schemes. Dark + light.

bgfgbluegreencyanyelloworangepink
Dark#0f1318#ced3d9#69b9f7#54dcaa#6ae5ec#e8df69#f8bd5f#fa94cd
Light#f1f6fd#242a30#0176b8#007553#0d7a7f#976700#a24500#973070

datum dark editor mock

datum dark CVD strip

datum light editor mock

datum light CVD strip