Skip to content
ConsoleMonster

API Reference

Class

Theme

Namespace ConsoleMonster.Styling
Assembly ConsoleMonster
Implements
Modifiers sealed

The built-in ITheme implementation: a table of ThemeStyle per token. Themes are immutable; Theme.With returns a modified copy.

Inheritance

  • Object
  • Theme

Usage

Explore 6 API references to this type

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Returned or exposed by 6

Constructors

public Theme(String name, IReadOnlyDictionary<ThemeToken, ThemeStyle> styles) #

Creates a theme from a complete token table.

Parameters

name System.String requiredposition: 0
The theme name.
styles System.Collections.Generic.IReadOnlyDictionary<ConsoleMonster.Styling.ThemeToken, ConsoleMonster.Styling.ThemeStyle> requiredposition: 1
Styles per token; tokens without an entry render with the terminal default.

Methods

public static Theme FromName(String? name) #
Returns: Theme

Returns the theme matching a name (dark, light, highcontrast), or Theme.Dark.

Parameters

name System.String? requiredposition: 0
The name.

Returns

The theme.

public ThemeStyle Get(ThemeToken token) #
Returns: ThemeStyle

Returns the definition of a token.

Parameters

token ConsoleMonster.Styling.ThemeToken requiredposition: 0
The token.

Returns

Its theme style.

public Theme Rename(String name) #
Returns: Theme

Returns a copy of the theme under a new name.

Parameters

name System.String requiredposition: 0
The name.

Returns

A new theme.

public Style Resolve(ThemeToken token, ColorDepth depth) #
Returns: Style

Resolves a token to a concrete style for a colour depth.

Parameters

token ConsoleMonster.Styling.ThemeToken requiredposition: 0
The token.
depth ConsoleMonster.Capabilities.ColorDepth requiredposition: 1
The colour depth being rendered.

Returns

The style.

public static Boolean TryParseToken(String name, out ThemeToken token) #
Returns: Boolean

Parses a token name case-insensitively (pass, Muted, series3).

Parameters

name System.String requiredposition: 0
The name.
token ConsoleMonster.Styling.ThemeToken requiredposition: 1
The token.

Returns

Whether the name is a known token.

public Boolean TryResolve(String name, ColorDepth depth, out Style style) #
Returns: Boolean

Resolves a token by name (case-insensitive), as used in markup such as [pass].

Parameters

name System.String requiredposition: 0
Token name, for example pass or muted.
depth ConsoleMonster.Capabilities.ColorDepth requiredposition: 1
The colour depth being rendered.
style ConsoleMonster.Styling.Style requiredposition: 2
The resolved style.

Returns

Whether the name is a token of this theme.

public Theme With(ThemeToken token, ThemeStyle style) #
Returns: Theme

Returns a copy of the theme with one token replaced.

Parameters

token ConsoleMonster.Styling.ThemeToken requiredposition: 0
The token.
style ConsoleMonster.Styling.ThemeStyle requiredposition: 1
The new definition.

Returns

A new theme.

Properties

public static Theme Dark { get; } #

The default theme, tuned for dark terminal backgrounds (Windows Terminal, conhost, VS Code dark).

public static Theme Light { get; } #

A theme for light terminal backgrounds.

public static Theme HighContrast { get; } #

A high-contrast theme: saturated primaries, bold status, white borders.

public String Name { get; } #

The theme name.