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)[源代码]¶
构造一个语法对象以呈现语法突出显示的代码。
- 参数
code (str) -- 要突出显示的代码。
lexer (Lexer | str) -- 要使用的词法分析器(请参阅https://pygments.org/docs/lexers/)
theme (str, optional) -- 颜色主题,也称为俾格森风格(请参阅https://pygments.org/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) -- 如果给定,则应该是要呈现的开始行和结束行的元组。如果元组中的值为无,则表示该范围在该方向上是开放的。
highlight_lines (Set[int]) -- 要突出显示的一组行号。
code_width (Optional[int]) -- 要呈现的代码的宽度(不包括行号),或
None
要使用所有可用宽度,请执行以下操作。tab_size (int, optional) -- 选项卡的大小。默认为4。
word_wrap (bool, optional) -- 启用自动换行。
background_color (str, optional) -- 可选背景颜色,或无以使用主题颜色。默认为无。
indent_guides (bool, optional) -- 显示缩进辅助线。默认为False。
padding (PaddingDimensions) -- 要在语法周围应用的填充。默认为0(无填充)。
- property default_lexer: Lexer¶
未指定或无效时使用的Pygments词法分析器。
- 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)[源代码]¶
从文件构造语法对象。
- 参数
path (str) -- 要突出显示的文件的路径。
encoding (str) -- 对文件进行编码。
lexer (str | Lexer, optional) -- 要使用的词法分析器。如果没有,将从路径/文件内容中自动检测词法分析器。
theme (str, optional) -- 颜色主题,也称为俾格森风格(请参阅https://pygments.org/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) -- 可选背景颜色,或无以使用主题颜色。默认为无。
indent_guides (bool, optional) -- 显示缩进辅助线。默认为False。
padding (PaddingDimensions) -- 要在语法周围应用的填充。默认为0(无填充)。
- 返回
可以打印到控制台的语法对象
- 返回类型
[Syntax]
- classmethod guess_lexer(path, code=None)[源代码]¶
根据路径和可选的代码字符串猜测要使用的Pygments词法分析器的别名。如果提供了代码,它将使用代码和文件名的组合来确定要使用的最佳词法分析器。例如,如果文件是
index.html
并且该文件包含Django模板语法,则返回“html+Django”。如果该文件是index.html
,并且不使用模板语言,则将使用“html”词法分析器。如果未提供代码字符串,则将根据文件扩展名选择词法分析器。