2个不稳定版本
0.2.0 | 2023年5月14日 |
---|---|
0.1.0 | 2023年5月1日 |
#1422 in 文本处理
57 每月下载量
20KB
315 行
pygmentize
Rust库和围绕pygmentize CLI的包装器。为500多种语言和其他文本格式应用语法高亮。渲染为HTML、SVG、LaTeX和终端(ANSI颜色序列)。
渲染的HTML输出
渲染的示例/html.rs。
示例
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">"Hello, world!"</span>
<span class="p">);</span>
<span class="p">}</span>
</pre>
</div>
渲染
(使用Dracula主题)
覆盖Pygmentize路径
pygmentize
二进制文件的路径,可以使用 pygmentize::
set_bin_path()
覆盖。默认路径是 "pygmentize"
。
如果pygmentize
安装在虚拟环境中,在您的crate目录中,即Cargo.lock
和env/
位于同一目录。那么假设当前目录相同。那么可以通过以下方式覆盖路径
pygmentize::set_bin_path("./env/Scripts/pygmentize");
安装
该库是围绕pygmentize CLI的包装器,因此它必须在系统PATH中可用。安装pygmentize的最简单方法是使用Python。
pip install Pygments
依赖项
~0–7MB
~40K SLoC