rich.style

class rich.style.Style(*, color=None, bgcolor=None, bold=None, dim=None, italic=None, underline=None, blink=None, blink2=None, reverse=None, conceal=None, strike=None, underline2=None, frame=None, encircle=None, overline=None, link=None, meta=None)[source]

终端样式。

终端样式由颜色 (color)、背景颜色 (bgcolor) 和一些属性组成,例如粗体、斜体等。这些属性有 3 种状态:它们可以是打开 (True)、关闭 (False) 或未设置 (None)。

参数
  • color (Union[Color, str], optional) – 终端文本的颜色。默认为 None。

  • bgcolor (Union[Color, str], optional) – 终端背景的颜色。默认为 None。

  • bold (bool, optional) – 启用粗体文本。默认为 None。

  • dim (bool, optional) – 启用暗淡文本。默认为 None。

  • italic (bool, optional) – 启用斜体文本。默认为 None。

  • underline (bool, optional) – 启用带下划线的文本。默认为 None。

  • blink (bool, optional) – 启用闪烁文本。默认为 None。

  • blink2 (bool, optional) – 启用快速闪烁文本。默认为 None。

  • reverse (bool, optional) – 启用反向文本。默认为 None。

  • conceal (bool, optional) – 启用隐藏文本。默认为 None。

  • strike (bool, optional) – 启用删除线文本。默认为 None。

  • underline2 (bool, optional) – 启用双下划线文本。默认为 None。

  • frame (bool, optional) – 启用边框文本。默认为 None。

  • encircle (bool, optional) – 启用圆圈文本。默认为 None。

  • overline (bool, optional) – 启用上划线文本。默认为 None。

  • link (str, link) – 链接 URL。默认为 None。

  • meta (Optional[Dict[str, Any]]) –

property background_style: Style

一个只有背景的样式。

property bgcolor: Optional[Color]

背景颜色,如果未设置,则为 None。

classmethod chain(*styles)[source]

将来自位置参数的样式组合成单个样式。

参数

*styles (Iterable[Style]) – 要组合的样式。

返回值

一个新的样式实例。

返回类型

Style

获取此样式的副本,其中已删除链接和元数据信息。

返回值

新的样式对象。

返回类型

Style

property color: Optional[Color]

前景色,如果未设置,则为 None。

classmethod combine(styles)[source]

组合样式并获取结果。

参数

styles (Iterable[Style]) – 要组合的样式。

返回值

一个新的样式实例。

返回类型

Style

copy()[source]

获取此样式的副本。

返回值

一个具有相同属性的新 Style 实例。

返回类型

Style

classmethod from_color(color=None, bgcolor=None)[source]

创建一个带有颜色且没有属性的新样式。

返回值

A (foreground) color, or None for no color. Defaults to None. bgcolor (Optional[Color]): A (background) color, or None for no color. Defaults to None.

返回类型

color (Optional[Color])

参数
classmethod from_meta(meta)[source]

使用元数据创建新的样式。

返回值

元数据的字典。默认为 None。

返回类型

meta (Optional[Dict[str, Any]])

参数

meta (Optional[Dict[str, Any]]) –

get_html_style(theme=None)[source]

获取 CSS 样式规则。

参数

theme (Optional[TerminalTheme]) –

返回类型

str

链接文本,如果设置了。

获取链接 ID,用于链接的 ansi 代码中。

property meta: Dict[str, Any]

获取元信息(构造后无法更改)。

classmethod normalize(style)[source]

规范化样式定义,使具有相同效果的样式具有相同的字符串表示形式。

参数

style (str) – 样式定义。

返回值

样式定义的标准形式。

返回类型

str

classmethod null()[source]

创建一个“空”样式,等同于 Style(),但性能更高。

返回类型

Style

classmethod on(meta=None, **handlers)[source]

创建一个带有元信息的空白样式。

示例

style = Style.on(click=self.on_click)

参数
  • meta (Optional[Dict[str, Any]], optional) – 元信息的可选字典。

  • **handlers (Any) – 关键字参数被转换为处理程序。

返回值

带有附加元信息的样式。

返回类型

Style

classmethod parse(style_definition)[source]

解析样式定义。

参数

style_definition (str) – 包含样式的字符串。

Raises

errors.StyleSyntaxError – 如果样式定义语法无效。

返回值

Style 实例。

返回类型

Style

classmethod pick_first(*values)[source]

选择第一个非 None 样式。

参数

values (Optional[Union[str, Style]]) –

返回类型

Union[str, Style]

render(text='', *, color_system=ColorSystem.TRUECOLOR, legacy_windows=False)[source]

渲染样式的 ANSI 代码。

参数
  • text (str, optional) – 要设置样式的字符串。默认为“”。

  • color_system (Optional[ColorSystem], optional) – 要渲染到的颜色系统。默认为 ColorSystem.TRUECOLOR。

  • legacy_windows (bool) –

返回值

包含 ANSI 样式代码的字符串。

返回类型

str

test(text=None)[source]

将带样式的文本直接写入终端。

此方法仅用于测试目的。

参数

text (Optional[str], optional) – 要设置样式的文本或 None 用于样式名称。

返回类型

None

property transparent_background: bool

检查样式是否指定了透明背景。

获取具有不同链接值的副本。

参数

link (str, optional) – 链接的新值。默认为 None。

返回值

新的 Style 实例。

返回类型

Style

property without_color: Style

获取去掉了颜色的样式的副本。

class rich.style.StyleStack(default_style)[source]

样式栈。

参数

default_style (Style) –

property current: Style

获取栈顶的 Style。

pop()[source]

弹出最后一个样式并丢弃。

返回值

新的当前样式(也可以作为 stack.current 获得)

返回类型

Style

push(style)[source]

将新样式推入栈中。

参数

style (Style) – 要与当前样式组合的新样式。

返回类型

None