構文

Rich は行番号を使用してさまざまなプログラミング言語の構文をハイライトできます。

コードの構文をハイライトするには、Syntax オブジェクトを作成し、それをコンソールに出力します。例を次に示します。

from rich.console import Console
from rich.syntax import Syntax

console = Console()
with open("syntax.py", "rt") as code_file:
    syntax = Syntax(code_file.read(), "python")
console.print(syntax)

ディスクからコードを読み込み、ファイルの種類を自動的に検出する別のコンストラクタ from_path() を使用することもできます。上記の例は次のように書き直すことができます。

from rich.console import Console
from rich.syntax import Syntax

console = Console()
syntax = Syntax.from_path("syntax.py")
console.print(syntax)

行番号

line_numbers=True を設定すると、Rich は行番号用の列を描画します。

syntax = Syntax.from_path("syntax.py", line_numbers=True)

テーマ

Syntax コンストラクタ(および from_path())は、Pygments テーマ の名前である theme 属性を受け付けます。また、端末で構成されるカラースキームを使用する特別なケースのテーマ名「ansi_dark」または「ansi_light」のいずれかである場合もあります。

背景色

コンストラクタに background_color 引数を指定することで、テーマから背景色をオーバーライドできます。これは、スタイル定義を受け入れるのと同じ形式の文字列(「red」、「#ff0000」、「rgb(255,0,0)」など)にする必要があります。端末に設定されたデフォルトの背景色を使用する特別な値「default」を設定することもできます。

構文 CLI

コマンドラインからこのクラスを使用できます。ファイル「syntax.py」を構文強調表示する方法は次のとおりです。

python -m rich.syntax syntax.py

引数の完全なリストを表示するには、次を実行します。

python -m rich.syntax -h