语法¶
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