2个不稳定版本

0.2.0 2023年5月14日
0.1.0 2023年5月1日

#1422 in 文本处理

Download history 3/week @ 2024-03-13 3/week @ 2024-03-27 5/week @ 2024-04-03 1/week @ 2024-06-05 56/week @ 2024-06-26

57 每月下载量

MIT 协议

20KB
315

pygmentize

Latest Version Docs Pygmentize Version License

Rust库和围绕pygmentize CLI的包装器。为500多种语言和其他文本格式应用语法高亮。渲染为HTML、SVG、LaTeX和终端(ANSI颜色序列)。

渲染的HTML输出

渲染的示例/html.rs

Rendered Example

示例

use pygmentize::{HtmlFormatter, PygmentizeError};

let code = r#"fn main() {
    println!("Hello, world!");
}"#;

let html = pygmentize::highlight(code, Some("rust"), &HtmlFormatter::default())?;
println!("{html}");

输出

(添加空格以提高清晰度)

<div class="highlight">
<pre>
    <span></span>

    <span class="k">fn</span>
    <span class="nf">main</span>
    <span class="p">()</span>
    <span class="w"> </span>
    <span class="p">{</span>

    <span class="w">    </span>
    <span class="fm">println!</span>
    <span class="p">(</span>
    <span class="s">&quot;Hello, world!&quot;</span>
    <span class="p">);</span>

    <span class="p">}</span>
</pre>
</div>

渲染

(使用Dracula主题)

Rendered Example 2

覆盖Pygmentize路径

pygmentize 二进制文件的路径,可以使用 pygmentize::set_bin_path() 覆盖。默认路径是 "pygmentize"

如果pygmentize安装在虚拟环境中,在您的crate目录中,即Cargo.lockenv/位于同一目录。那么假设当前目录相同。那么可以通过以下方式覆盖路径

pygmentize::set_bin_path("./env/Scripts/pygmentize");

安装

该库是围绕pygmentize CLI的包装器,因此它必须在系统PATH中可用。安装pygmentize的最简单方法是使用Python。

pip install Pygments

依赖项

~0–7MB
~40K SLoC