Dath is a visual comfort layer that sits on top of any VS Code theme you already use. It does not replace your theme — it corrects it.
For developers with colour vision deficiency (CVD), the problem isn't that themes are badly designed — it's that they're designed for trichromat vision. Red strings and green comments look identical to a deuteranope. Dath shifts those specific colour ranges to safe alternatives while preserving the character of your theme.
For everyone else, Dath addresses the broader comfort problems that themes don't solve: harsh white backgrounds, snow blindness, visual noise, and the friction of font and spacing settings buried in JSON.
Everything is non-destructive. Dath writes only to VS Code's workbench.colorCustomizations override layer — never your theme files. Disable it and your editor is exactly as it was.
Features
CVD Colour Correction
Applies LMS daltonization (Brettel, Viénot & Mollon, 1997) to your active theme's colours. Reads the theme JSON directly from disk and corrects both workbench UI tokens and TextMate syntax token colours.
Mode
Cone affected
Most common in
Deuteranopia
M (green)
~6% of males
Protanopia
L (red)
~2% of males
Tritanopia
S (blue)
~0.01% of population
Achromatopsia
All cones
Rod monochromacy — luminance only
A severity slider (0.1–1.0) lets you dial in the correction strength — 1.0 for complete CVD, lower for partial deficiency.
Simulate mode — instead of correcting, show what your current theme looks like to someone with the selected CVD type. Useful for theme authors and for demonstrating CVD to colleagues.
Custom palette slots (Custom 1, 2, 3) let you define your own per-role colour overrides directly in the panel using colour pickers.
Contrast Comfort
Mode
Effect
Soften
Lifts pure whites toward a warm off-white — reduces snow blindness
Warm
Warms the background tone
Cool
Cools the background tone
Dim
Reduces overall brightness
A temperature bias slider lets you add a persistent warm or cool hue tint on top of all other corrections.
Rainbow Brackets
CVD-safe bracket palettes derived from the Wong (2011) colour palette — distinguishable under all CVD types. The palette updates automatically to match your active CVD mode.
Shape hints add a subtle underline to matching bracket pairs so they are identifiable without relying on colour alone.
Rainbow indent guides colour VS Code's indent guide lines to match the bracket palette, giving an additional spatial cue for nested code structure.
Font & Spacing
Override editor typography without editing settings.json manually:
Font family — quick picks for OpenDyslexic, Atkinson Hyperlegible, and Lexie Readable, or type any font installed on your system
Font size — px override (0 = VS Code default)
Line height — override for improved readability (suggested 1.4–1.8)
Letter spacing — px override
Profiles
Named configurations that switch in one click. Save, rename, delete, export, and import profiles from the panel or command palette. Three built-in starters are included on first install:
Profile
Description
Deuteranopia
Full deuteranopia correction, softened backgrounds, CVD-safe brackets
Protanopia
Full protanopia correction, CVD-safe brackets
Dyslexia Comfort
Softened contrast, Atkinson Hyperlegible font, increased line height
Auto dark/light switching — set dath.darkModeProfile and dath.lightModeProfile to automatically apply the right profile when VS Code (or the OS) switches between dark and light mode.
Visual Panel
Click the status bar item to open the Dath panel — a live interactive control surface. Changes apply immediately as you adjust sliders or click mode buttons.
Per-section reset buttons restore individual sections to defaults
Global reset restores all Dath settings at once
Live colour correction preview shows before/after swatches for representative theme colours
Bracket palette preview updates in real time
Profile management — apply, save, rename, delete, export, and import profiles without leaving the panel
Simulate toggle — preview what your theme looks like to a CVD user
Status bar shows a warning indicator if the theme file could not be read
How It Works
On activation, Dath reads your active theme's JSON file from disk (including JSONC comment stripping and include chain resolution)
It applies the LMS daltonization pipeline to workbench colour tokens, TextMate syntax scopes, and semantic token colours
Corrected values are written to workbench.colorCustomizations, editor.tokenColorCustomizations, and editor.semanticTokenColorCustomizations in your global settings
When you disable Dath or change settings, only Dath's entries are removed — your own customisations are preserved
Dath manages 185 workbench colour tokens spanning the editor, sidebar, tabs, terminal, diff view, and more. It also reads and corrects semanticTokenColors from the theme file, covering the semantic highlighting layer used by modern themes alongside TextMate scopes.
Getting Started
Install from the VS Code Marketplace
The setup wizard runs automatically on first install — choose your CVD type, contrast preference, and bracket options
Click the $(eye) Dath item in the status bar to open the panel at any time
Or: Ctrl+Alt+D / Cmd+Alt+D — or Ctrl/Cmd+Shift+P → Dath: Open Panel
VS Code forks
Dath uses only standard VS Code extension APIs and works in any VS Code-compatible editor — Cursor, Windsurf, Gitpod, Project IDX, and others — without any changes.
VSCodium users: VSCodium does not use the VS Code Marketplace. Install via the .vsix file from the GitHub releases page, or find Dath on open-vsx.org if it has been published there.