Skip to content

# cmd2.styles

## `` cmd2.styles

Defines custom Rich styles and their corresponding names for cmd2.

This module provides a centralized and discoverable way to manage Rich styles used within the cmd2 framework. It defines a StrEnum for style names and a dictionary that maps these names to their default style objects.

Notes

Cmd2 uses Rich for its terminal output, and while this module defines a set of cmd2-specific styles, it's important to understand that these aren't the only styles that can appear. Components like Rich tracebacks and the rich-argparse library, which cmd2 uses for its help output, also apply their own built-in styles. Additionally, app developers may use other Rich objects that have their own default styles.

For a complete theming experience, you can create a custom theme that includes styles from Rich and rich-argparse. The `cmd2.rich_utils.set_theme()` function automatically updates rich-argparse's styles with any custom styles provided in your theme dictionary, so you don't have to modify them directly.

You can find Rich's default styles in the `rich.default_styles` module. For rich-argparse, the style names are defined in the `rich_argparse.RichHelpFormatter.styles` dictionary.

### `` DEFAULT_CMD2_STYLES `module-attribute`

    DEFAULT_CMD2_STYLES = {COMMAND_LINE: Style(color=CYAN, bold=True), ERROR: Style(color=BRIGHT_RED), HELP_HEADER: Style(color=BRIGHT_GREEN), HELP_LEADER: Style(color=CYAN), SUCCESS: Style(color=GREEN), TABLE_BORDER: Style(color=BRIGHT_GREEN), WARNING: Style(color=BRIGHT_YELLOW)}

### `` Cmd2Style

Bases: `StrEnum`

An enumeration of the names of custom Rich styles used in cmd2.

Using this enum allows for autocompletion and prevents typos when referencing cmd2-specific styles.

This StrEnum is tightly coupled with `DEFAULT_CMD2_STYLES`. Any name added here must have a corresponding style definition there.

#### `` COMMAND_LINE `class-attribute` `instance-attribute`

    COMMAND_LINE = 'cmd2.example'

#### `` ERROR `class-attribute` `instance-attribute`

    ERROR = 'cmd2.error'

#### `` HELP_HEADER `class-attribute` `instance-attribute`

    HELP_HEADER = 'cmd2.help.header'

#### `` HELP_LEADER `class-attribute` `instance-attribute`

    HELP_LEADER = 'cmd2.help.leader'

#### `` SUCCESS `class-attribute` `instance-attribute`

    SUCCESS = 'cmd2.success'

#### `` TABLE_BORDER `class-attribute` `instance-attribute`

    TABLE_BORDER = 'cmd2.table_border'

#### `` WARNING `class-attribute` `instance-attribute`

    WARNING = 'cmd2.warning'