pygmentize

Crates.iopygmentize
lib.rspygmentize
version0.2.0
sourcesrc
created_at2023-05-01 19:10:08.382096
updated_at2023-05-14 15:19:14.385688
descriptionpygmentize wrapper for syntax highlighting
homepage
repositoryhttps://github.com/vallentin/pygmentize
max_upload_size
id853798
size23,221
Christian Vallentin (vallentin)

documentation

https://docs.rs/pygmentize

README

pygmentize

Latest Version Docs Pygmentize Version License

Rust library and wrapper around the pygmentize CLI. Apply syntax highlighting to over 500 languages and other text formatted. Render into HTML, SVG, LaTeX, and Terminal (ANSI color sequences).

Rendered HTML Output

Rendered example of examples/html.rs.

Rendered Example

Example

use pygmentize::{HtmlFormatter, PygmentizeError};

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

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

Output

(whitespace added to improve clarity)

<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>

Rendered

(with the Dracula theme)

Rendered Example 2

Override Pygmentize Path

The path to the pygmentize binary, can be overridden using pygmentize::set_bin_path(). The default path is "pygmentize".

If pygmentize is installed in a virtual environment, within your crate directory, i.e. Cargo.lock and env/ being within the same directory. Then assuming that the current directory is the same. Then the path can be overridden by doing:

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

Install

The library is a wrapper around the pygmentize CLI, and as such it must be available in the system PATH. The easiest way to install pygmentize is through Python.

pip install Pygments
Commit count: 6

cargo fmt