Providers
A provider is an app that defines a complete color palette. Terminal emulators are providers — they own the 16 ANSI colors plus foreground, background, cursor, and selection colors. Everything running inside a provider inherits this palette.
What a Provider Defines
A provider’s theme sets:
- Foreground / background — the default text and canvas colors
- Cursor / selection — visual feedback colors
- 16 ANSI colors — black, red, green, yellow, blue, magenta, cyan, white, plus their bright variants (indices 0–15)
These 21 colors are the foundation. Every consumer app inside the provider references them by index, not by RGB value. When the provider’s theme changes, all consumer output changes with it.
Why Providers Matter for Previewing
The same theme definition can produce different colors depending on the provider. Kitty and wezterm each ship their own theme collections, and even when a theme shares a name across both, the actual RGB values may differ — different curators, different source formats, different rounding.
Litmus captures screenshots separately for each provider, so you see the actual colors your terminal would render, not an idealized version.
Supported Providers
| Provider | Status | Notes |
|---|---|---|
| kitty | Supported | Full capture and color extraction |
| wezterm | Supported | Full capture and color extraction |
| alacritty | Planned | Next major version |
| foot | Planned | Next major version |
| ghostty | Planned | Next major version |
How Litmus Models Providers
Each theme in litmus has a theme definition (name, variant, slug) plus one or more provider color files that contain the actual RGB values as extracted from that provider’s theme system.
themes/
catppuccin/
mocha.toml # theme definition
mocha.kitty.toml # colors as kitty renders them
mocha.wezterm.toml # colors as wezterm renders them
The theme definition maps to provider-specific theme names:
name = "Catppuccin Mocha"
variant = "dark"
[providers]
kitty = "Catppuccin-Mocha"
wezterm = "catppuccin-mocha"
The provider color files are auto-generated by litmus extract-colors, which reads each provider’s vendored theme data and writes the resolved palette. See Adding Providers for details.