Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

ProviderStatusNotes
kittySupportedFull capture and color extraction
weztermSupportedFull capture and color extraction
alacrittyPlannedNext major version
footPlannedNext major version
ghosttyPlannedNext 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.