语法

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())接受一个 theme 属性,该属性应为 Pygments 主题 的名称。它也可以是特殊情况的主题名称之一:“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