Table of Contents

Namespace ItTiger.TigerCli.Tui.Themes

Classes

CliCustomStyle
An app-defined custom semantic style: a named markup token (e.g. ConnectionName, EnvironmentProd) that resolves through the active theme like the framework semantic tokens. A custom style always has a required framework ThemeStyle BaseStyle as a safe fallback, plus optional dark/light family overrides and optional exact theme-name overrides.

Resolution order (most specific first):

  1. exact theme-name override (matches Name, case-insensitive);
  2. dark/light family override (chosen by Family);
  3. the active theme's resolved BaseStyle.
Custom styles are used as semantic markup tags only (single-token, e.g. [ConnectionName]…[/]); like other semantic styles they are never valid inside a raw on colour expression.
DarkTheme
Default dark framework theme: neutral dark background, gray text, cyan accent, and green active selection.
LightTheme
Light framework theme: dark text on a light background, dark-blue accent and table headers. Distinct from DarkTheme and TigerBlueTheme to exercise the theme system.
ThemeBase
Base class for TigerCli themes. Derived themes provide the required base palette and can override semantic role hooks for controls, markup, tables, surfaces, buttons, and progress bars.
TigerBlueTheme
Blue-accented framework theme: cyan accent, dark-blue dialog background, white table headers. (This is the original TigerCli dark palette, preserved as its own named theme.)
TigerColorAliasRegistry
App-scoped registry of raw colour aliases: application-defined names for concrete CliColor values (e.g. BrandOrangeOrange). Aliases are valid only in raw colour positions of markup ([BrandOrange], [White on CompanyBlue]) and are a different concept from semantic styles.

TigerCli ships no built-in aliases — only the CliColor enum names are known by default. Apps (or opt-in libraries) register the aliases they want. A registered alias takes precedence over a CliColor enum name of the same name: registering an alias is a deliberate app policy, so the alias wins and the enum value remains the fallback when no alias is registered.

Instances are app-local: construct one per app/test, configure it, then make it active via TigerConsole.ColorAliases. Nothing is process-global.
TigerCustomStyleRegistry
App-scoped registry of custom semantic styles (see CliCustomStyle). Custom styles extend the curated framework semantic tokens with app-defined roles such as ConnectionName or EnvironmentProd; they resolve through the active theme and are used as single-token markup tags.

Instances are app-local: construct one per app/test, configure it, then make it active via TigerConsole.CustomStyles so the markup call sites resolve custom tokens. Nothing is process-global.

TigerThemeConfiguration
App-scoped theme, style, and colour-alias policy configured through the app builder's ConfigureThemes block. The application owns this policy: framework themes are available by default, custom themes and styles are added explicitly, library packages register through this object (referencing a library never mutates TigerCli), and apps may disable framework themes they do not want. Everything configured here is applied to the active TigerConsole appearance for the run; nothing is registered merely because a type or library is referenced.