rich.syntax

class rich.syntax.Syntax(code, lexer, *, theme='monokai', dedent=False, line_numbers=False, start_line=1, line_range=None, highlight_lines=None, code_width=None, tab_size=4, word_wrap=False, background_color=None, indent_guides=False, padding=0)[ソース]

構文ハイライトされたコードをレンダリングするためのSyntaxオブジェクトを構築します。

パラメーター
  • code (str) – ハイライトするコード。

  • lexer (Lexer | str) – 使用するレクサー(https://pygments.dokyumento.jp/docs/lexers/ を参照)

  • theme (str, optional) – カラーテーマ、別名 Pygments スタイル(https://pygments.dokyumento.jp/docs/styles/#getting-a-list-of-available-styles を参照)。デフォルトは「monokai」。

  • dedent (bool, optional) – 先頭の空白の削除を有効にします。デフォルトはFalse。

  • line_numbers (bool, optional) – 行番号のレンダリングを有効にします。デフォルトはFalse。

  • start_line (int, optional) – 行番号の開始番号。デフォルトは1。

  • line_range (Tuple[int | None, int | None], optional) – 指定された場合は、レンダリングする開始行と終了行のタプルである必要があります。タプル内のNoneの値は、範囲がその方向に開いていることを示します。

  • highlight_lines (Set[int]) – ハイライトする行番号のセット。

  • code_width (Optional[int]) – レンダリングするコードの幅(行番号は含まない)、または利用可能なすべての幅を使用する場合はNone

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

  • word_wrap (bool, optional) – ワードラッピングを有効にします。

  • background_color (str, optional) – オプションの背景色、またはテーマの色を使用する場合はNone。デフォルトはNone。

  • indent_guides (bool, optional) – インデントガイドを表示します。デフォルトはFalse。

  • padding (PaddingDimensions) – 構文の周りに適用するパディング。デフォルトは0(パディングなし)。

property default_lexer: Lexer

指定されていない場合、または無効な場合に使用するPygments Lexer。

classmethod from_path(path, encoding='utf-8', lexer=None, theme='monokai', dedent=False, line_numbers=False, line_range=None, start_line=1, highlight_lines=None, code_width=None, tab_size=4, word_wrap=False, background_color=None, indent_guides=False, padding=0)[ソース]

ファイルからSyntaxオブジェクトを構築します。

パラメーター
  • path (str) – ハイライトするファイルへのパス。

  • encoding (str) – ファイルのエンコーディング。

  • lexer (str | Lexer, optional) – 使用するレクサー。Noneの場合、レクサーはパス/ファイルコンテンツから自動検出されます。

  • theme (str, optional) – カラーテーマ、別名 Pygments スタイル(https://pygments.dokyumento.jp/docs/styles/#getting-a-list-of-available-styles を参照)。デフォルトは「emacs」。

  • dedent (bool, optional) – 先頭の空白の削除を有効にします。デフォルトはTrue。

  • line_numbers (bool, optional) – 行番号のレンダリングを有効にします。デフォルトはFalse。

  • start_line (int, optional) – 行番号の開始番号。デフォルトは1。

  • line_range (Tuple[int, int], optional) – 指定された場合は、レンダリングする開始行と終了行のタプルである必要があります。

  • highlight_lines (Set[int]) – ハイライトする行番号のセット。

  • code_width (Optional[int]) – レンダリングするコードの幅(行番号は含まない)、または利用可能なすべての幅を使用する場合はNone

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

  • word_wrap (bool, optional) – コードのワードラッピングを有効にします。

  • background_color (str, optional) – オプションの背景色、またはテーマの色を使用する場合はNone。デフォルトはNone。

  • indent_guides (bool, optional) – インデントガイドを表示します。デフォルトはFalse。

  • padding (PaddingDimensions) – 構文の周りに適用するパディング。デフォルトは0(パディングなし)。

戻り値

コンソールに出力できるSyntaxオブジェクト

戻り値の型

[Syntax]

classmethod get_theme(name)[ソース]

構文テーマインスタンスを取得します。

パラメーター

name (Union[str, SyntaxTheme]) –

戻り値の型

SyntaxTheme

classmethod guess_lexer(path, code=None)[ソース]

パスとオプションのコード文字列に基づいて、使用するPygmentsレクサーのエイリアスを推測します。コードが指定された場合、コードとファイル名の組み合わせを使用して、最適なレクサーを決定します。例えば、ファイルがindex.htmlであり、ファイルにDjangoテンプレート構文が含まれている場合、「html+django」が返されます。ファイルがindex.htmlで、テンプレート言語が使用されていない場合は、「html」レクサーが使用されます。コード文字列が指定されていない場合、レクサーはファイル拡張子に基づいて選択されます。

パラメーター
  • path (AnyStr) – レクサーを知りたいコードを含むファイルへのパス。

  • code (str, optional) – 指定されたパスにレクサーが見つからない場合にフォールバックとして使用されるオプションのコード文字列。

戻り値

指定されたパス/コードに最も一致するPygmentsレクサーの名前。

戻り値の型

str

highlight(code, line_range=None)[source]

コードを強調表示し、Textインスタンスを返します。

パラメーター
  • code (str) – ハイライトするコード。

  • line_range (Tuple[int, int], optional) – 強調表示するオプションの行範囲。

戻り値

強調表示された構文を含むTextインスタンス。

戻り値の型

Text

property lexer: Optional[Lexer]

この構文のレクサー。レクサーが見つからなかった場合はNone。

コンストラクタに文字列が渡された場合は、名前でレクサーを検索しようとします。

stylize_range(style, start, end)[source]

コードの一部にカスタムスタイルを追加します。これは、レンダリング時に構文表示に適用されます。行番号は1から始まるのに対し、列インデックスは0から始まります。

パラメーター
  • style (StyleType) – 適用するスタイル。

  • start (Tuple[int, int]) – 範囲の開始。形式は[行番号, 列インデックス]

  • end (Tuple[int, int]) – 範囲の終了。形式は[行番号, 列インデックス]

戻り値の型

None