rich.text

class rich.text.Text(text='', style='', *, justify=None, overflow=None, no_wrap=None, end='\n', tab_size=None, spans=None)[ソース]

色/スタイル付きのテキスト。

パラメータ
  • text (str, オプション) – デフォルトのスタイルなしテキスト。デフォルトは ""。

  • style (Union[str, Style], オプション) – テキストの基本スタイル。デフォルトは ""。

  • justify (str, オプション) – 整列方法: "left", "center", "full", "right"。デフォルトは None。

  • overflow (str, オプション) – オーバーフロー方法: "crop", "fold", "ellipsis"。デフォルトは None。

  • no_wrap (bool, オプション) – テキストの折り返しを無効にするか、デフォルトの場合は None。デフォルトは None。

  • end (str, オプション) – テキストの末尾に追加する文字。デフォルトは "\n"。

  • tab_size (int) – タブごとのスペース数、または console.tab_size を使用する場合は None。デフォルトは None。

  • spans (List[Span], オプション) –

align(align, width, character=' ')[ソース]

指定された幅にテキストを整列させます。

パラメータ
  • align (AlignMethod) – "left", "center", または "right" のいずれか。

  • width (int) – 希望する幅。

  • character (str, オプション) – パディングに使用する文字。デフォルトは " "。

戻り値の型

なし

append(text, style=None)[ソース]

オプションのスタイルを使用してテキストを追加します。

パラメータ
  • text (Union[Text, str]) – 追加する str または Text。

  • style (str, オプション) – スタイル名。デフォルトは None。

戻り値

連鎖のために self を返します。

戻り値の型

Text

append_text(text)[ソース]

別の Text インスタンスを追加します。このメソッドは Text.append よりもパフォーマンスが高いですが、Text のみに適用されます。

戻り値

連鎖のために self を返します。

戻り値の型

Text

パラメータ

text (Text) –

append_tokens(tokens)[ソース]

str とスタイルのイテラブルを追加します。スタイルは Style インスタンスまたは str スタイルの定義にできます。

パラメータ
戻り値

連鎖のために self を返します。

戻り値の型

Text

apply_meta(meta, start=0, end=None)[ソース]

テキストまたはテキストの一部にメタデータを適用します。

パラメータ
  • meta (Dict[str, Any]) – メタ情報の辞書。

  • start (int) – 開始オフセット(負のインデックスがサポートされています)。デフォルトは 0。

  • end (Optional[int], オプション) – 終了オフセット(負のインデックスがサポートされています)、またはテキストの末尾の場合は None。デフォルトは None。

戻り値の型

なし

classmethod assemble(*parts, style='', justify=None, overflow=None, no_wrap=None, end='\n', tab_size=8, meta=None)[ソース]

オプションのスタイルを持つ文字列のシーケンスを結合して、テキストインスタンスを構築します。位置引数は、文字列または文字列 + スタイルのタプルのいずれかである必要があります。

パラメータ
  • style (Union[str, Style], オプション) – テキストの基本スタイル。デフォルトは ""。

  • justify (str, オプション) – 整列方法: "left", "center", "full", "right"。デフォルトは None。

  • overflow (str, オプション) – オーバーフロー方法: "crop", "fold", "ellipsis"。デフォルトは None。

  • end (str, オプション) – テキストの末尾に追加する文字。デフォルトは "\n"。

  • tab_size (int) – タブごとのスペース数、または console.tab_size を使用する場合は None。デフォルトは None。

  • meta (Dict[str, Any], オプション) –

  • parts (Union[str, Text, Tuple[str, Union[str, Style]]]) –

  • no_wrap (Optional[bool]) –

戻り値

新しいテキストインスタンス。

戻り値の型

Text

blank_copy(plain='')[ソース]

コピーされたメタデータ(ただし、文字列またはスパンではない)を持つ新しい Text インスタンスを返します。

パラメータ

plain (str) –

戻り値の型

Text

property cell_len: int

このテキストの描画に必要なセルの数を取得します。

copy()[ソース]

このインスタンスのコピーを返します。

戻り値の型

Text

copy_styles(text)[ソース]

別の Text インスタンスからスタイルをコピーします。

パラメータ

text (Text) – スタイルをコピーする Text インスタンス。同じ長さである必要があります。

戻り値の型

なし

detect_indentation()[ソース]

コードのインデントを自動検出します。

戻り値

コードをインデントするために使用されるスペースの数。

戻り値の型

int

divide(offsets)[ソース]

指定されたオフセットでテキストを複数の行に分割します。

パラメータ

offsets (Iterable[int]) – テキストを分割するために使用されるオフセット。

戻り値

オフセット間の新しい RichText インスタンス。

戻り値の型

Lines

expand_tabs(tab_size=None)[ソース]

タブをスペースに変換します。

パラメータ

tab_size (int, optional) – タブのサイズ。デフォルトは 8 です。

戻り値の型

なし

extend_style(spaces)[ソース]

指定された数のスペースで Text を拡張します。スペースは最後の文字と同じスタイルになります。

パラメータ

spaces (int) – Text に追加するスペースの数。

戻り値の型

なし

fit(width)[ソース]

テキストを指定された幅に収まるように、行に分割して調整します。

パラメータ

width (int) – 1 行の最大文字数。

戻り値

行のコンテナ。

戻り値の型

Lines

classmethod from_ansi(text, *, style='', justify=None, overflow=None, no_wrap=None, end='\n', tab_size=8)[ソース]

ANSIエスケープコードを含む文字列から Text オブジェクトを作成します。

パラメータ
  • text (str) – エスケープコードを含む文字列。

  • style (Union[str, Style], オプション) – テキストの基本スタイル。デフォルトは ""。

  • justify (str, オプション) – 整列方法: "left", "center", "full", "right"。デフォルトは None。

  • overflow (str, オプション) – オーバーフロー方法: "crop", "fold", "ellipsis"。デフォルトは None。

  • no_wrap (bool, オプション) – テキストの折り返しを無効にするか、デフォルトの場合は None。デフォルトは None。

  • end (str, オプション) – テキストの末尾に追加する文字。デフォルトは "\n"。

  • tab_size (int) – タブごとのスペース数、または console.tab_size を使用する場合は None。デフォルトは None。

戻り値の型

Text

classmethod from_markup(text, *, style='', emoji=True, emoji_variant=None, justify=None, overflow=None, end='\n')[ソース]

マークアップから Text インスタンスを作成します。

パラメータ
  • text (str) – コンソールマークアップを含む文字列。

  • emoji (bool, optional) – 絵文字コードもレンダリングします。デフォルトは True です。

  • justify (str, オプション) – 整列方法: "left", "center", "full", "right"。デフォルトは None。

  • overflow (str, オプション) – オーバーフロー方法: "crop", "fold", "ellipsis"。デフォルトは None。

  • end (str, オプション) – テキストの末尾に追加する文字。デフォルトは "\n"。

  • style (Union[str, Style]) –

  • emoji_variant (Optional[typing_extensions.Literal[emoji, text]]) –

戻り値

マークアップがレンダリングされた Text インスタンス。

戻り値の型

Text

get_style_at_offset(console, offset)[ソース]

指定されたオフセットの文字のスタイルを取得します。

パラメータ
  • console (~Console) – テキストがレンダリングされるコンソール。

  • offset (int) – テキストへのオフセット (負のインデックスがサポートされています)

戻り値

Style インスタンス。

戻り値の型

Style

highlight_regex(re_highlight, style=None, *, style_prefix='')[ソース]

正規表現を使用してテキストを強調表示します。グループ名はスタイルに変換されます。

パラメータ
  • re_highlight (str) – 正規表現。

  • style (Union[GetStyleCallable, StyleType]) – オプションで、一致全体に適用するスタイル、または一致したテキストを受け取りスタイルを返す呼び出し可能オブジェクトを指定します。デフォルトは None です。

  • style_prefix (str, optional) – オプションで、スタイルのグループ名に追加するプレフィックス。

戻り値

正規表現の一致数

戻り値の型

int

highlight_words(words, style, *, case_sensitive=True)[ソース]

スタイルで単語を強調表示します。

パラメータ
  • words (Iterable[str]) – 強調表示する単語。

  • style (Union[str, Style]) – 適用するスタイル。

  • case_sensitive (bool, optional) – 大文字と小文字を区別するマッチングを有効にします。デフォルトは True です。

戻り値

強調表示された単語の数。

戻り値の型

int

join(lines)[ソース]

このインスタンスを区切り文字として使用してテキストを結合します。

パラメータ

lines (Iterable[Text]) – 結合する Text インスタンスのイテラブル。

戻り値

結合されたテキストを含む新しいテキストインスタンス。

戻り値の型

Text

property markup: str

この Text をレンダリングするためのコンソールマークアップを取得します。

戻り値

マークアップタグを作成する可能性のある文字列。

戻り値の型

str

on(meta=None, **handlers)[ソース]

イベントハンドラーを適用します(Textualプロジェクトで使用されます)。

>>> from rich.text import Text
>>> text = Text("hello world")
>>> text.on(click="view.toggle('world')")
パラメータ
  • meta (Dict[str, Any]) – メタ情報のマッピング。

  • **handlers – キーワード引数にはハンドラーを定義するために"@"がプレフィックスとして付加されます。

戻り値

メソッドチェーンが可能なように、自身が返されます。

戻り値の型

Text

pad(count, character=' ')[ソース]

左右を指定した文字数でパディングします。

パラメータ
  • count (int) – パディングの幅。

  • character (str) –

戻り値の型

なし

pad_left(count, character=' ')[ソース]

左側を指定された文字でパディングします。

パラメータ
  • count (int) – パディングする文字数。

  • character (str, オプション) – パディングに使用する文字。デフォルトは " "。

戻り値の型

なし

pad_right(count, character=' ')[ソース]

右側を指定された文字でパディングします。

パラメータ
  • count (int) – パディングする文字数。

  • character (str, オプション) – パディングに使用する文字。デフォルトは " "。

戻り値の型

なし

property plain: str

テキストを単一の文字列として取得します。

remove_suffix(suffix)[ソース]

サフィックスが存在する場合は削除します。

パラメータ

suffix (str) – 削除するサフィックス。

戻り値の型

なし

render(console, end='')[ソース]

テキストをセグメントとしてレンダリングします。

パラメータ
  • console (Console) – コンソールインスタンス。

  • end (Optional[str], optional) – オプションの終了文字。

戻り値

コンソールに書き込むことができるレンダリングの結果。

戻り値の型

Iterable[Segment]

right_crop(amount=1)[ソース]

テキストの末尾から指定された文字数を削除します。

パラメータ

amount (int) –

戻り値の型

なし

rstrip()[ソース]

テキストの末尾から空白を削除します。

戻り値の型

なし

rstrip_end(size)[ソース]

テキストの末尾にある指定された幅を超えた空白を削除します。

パラメータ

size (int) – テキストの望ましいサイズ。

戻り値の型

なし

set_length(new_length)[ソース]

テキストの新しい長さを設定します。クリッピングまたはパディングが必要になります。

パラメータ

new_length (int) –

戻り値の型

なし

property spans: List[Span]

内部のスパンのリストへの参照を取得します。

split(separator='\n', *, include_separator=False, allow_blank=False)[ソース]

リッチテキストをスタイルを保持したまま行に分割します。

パラメータ
  • separator (str, optional) – 分割する文字列。デフォルトは「\n」です。

  • include_separator (bool, optional) – 行にセパレーターを含めます。デフォルトはFalseです。

  • allow_blank (bool, optional) – テキストがセパレーターで終わる場合に、空白行を返します。デフォルトはFalseです。

戻り値

元のテキストの行ごとに1つずつ、リッチテキストのリスト。

戻り値の型

List[RichText]

classmethod styled(text, style='', *, justify=None, overflow=None)[ソース]

事前に適用されたスタイルでTextインスタンスを構築します。この方法で適用されたスタイルは、テキストが両端揃えの場合にテキストをパディングするために使用されません。

パラメータ
  • text (str) – コンソールマークアップを含む文字列。

  • style (Union[str, Style]) – テキストに適用するスタイル。デフォルトは "" です。

  • justify (str, オプション) – 整列方法: "left", "center", "full", "right"。デフォルトは None。

  • overflow (str, オプション) – オーバーフロー方法: "crop", "fold", "ellipsis"。デフォルトは None。

戻り値

文字列全体にスタイルが適用されたテキストインスタンス。

戻り値の型

Text

stylize(style, start=0, end=None)[ソース]

テキスト、またはテキストの一部にスタイルを適用します。

パラメータ
  • style (Union[str, Style]) – 適用するスタイルインスタンスまたはスタイル定義。

  • start (int) – 開始オフセット(負のインデックスがサポートされています)。デフォルトは 0。

  • end (Optional[int], オプション) – 終了オフセット(負のインデックスがサポートされています)、またはテキストの末尾の場合は None。デフォルトは None。

戻り値の型

なし

stylize_before(style, start=0, end=None)[ソース]

テキスト、またはテキストの一部にスタイルを適用します。スタイルは、すでに存在する他のスタイルの前に適用されます。

パラメータ
  • style (Union[str, Style]) – 適用するスタイルインスタンスまたはスタイル定義。

  • start (int) – 開始オフセット(負のインデックスがサポートされています)。デフォルトは 0。

  • end (Optional[int], オプション) – 終了オフセット(負のインデックスがサポートされています)、またはテキストの末尾の場合は None。デフォルトは None。

戻り値の型

なし

truncate(max_width, *, overflow=None, pad=False)[ソース]

テキストが指定された幅よりも長い場合に切り詰めます。

パラメータ
  • max_width (int) – テキストの最大文字数。

  • overflow (str, optional) – オーバーフロー処理の方法: “crop”, “fold”, “ellipsis”。デフォルトは None で、self.overflow を使用します。

  • pad (bool, optional) – 長さが max_width より小さい場合にスペースで埋めます。デフォルトは False です。

戻り値の型

なし

with_indent_guides(indent_size=None, *, character='│', style='dim green')[ソース]

テキストにインデントガイド線を追加します。

パラメータ
  • indent_size (Optional[int]) – インデントのサイズ。None を指定すると自動検出されます。デフォルトは None です。

  • character (str, optional) – インデントに使用する文字。デフォルトは “│” です。

  • style (Union[Style, str], optional) – インデントガイドのスタイル。

戻り値

インデントガイド付きの新しいテキスト。

戻り値の型

Text

wrap(console, width, *, justify=None, overflow=None, tab_size=8, no_wrap=None)[ソース]

テキストをワードラップします。

パラメータ
  • console (Console) – コンソールインスタンス。

  • width (int) – 1 行あたりの文字数。

  • emoji (bool, optional) – 絵文字コードもレンダリングします。デフォルトは True です。

  • justify (str, optional) – 揃えの方法: “default”, “left”, “center”, “full”, “right”。デフォルトは “default” です。

  • overflow (str, optional) – オーバーフロー処理の方法: “crop”, “fold”, “ellipsis”。デフォルトは None です。

  • tab_size (int, optional) – デフォルトのタブサイズ。デフォルトは 8 です。

  • no_wrap (bool, optional) – ラッピングを無効にします。デフォルトは False です。

戻り値

行数。

戻り値の型

Lines