5 releases

Uses new Rust 2024

0.2.0 Jun 6, 2026
0.1.3 May 17, 2026
0.1.2 May 14, 2026
0.1.1 May 12, 2026
0.1.0 Dec 13, 2025

#1701 in Parser implementations

Download history 6/week @ 2026-04-18 23/week @ 2026-04-25 14/week @ 2026-05-02 26/week @ 2026-05-09 52/week @ 2026-05-16 60/week @ 2026-05-23 64/week @ 2026-05-30 275/week @ 2026-06-06 15/week @ 2026-06-13 17/week @ 2026-06-20 63/week @ 2026-06-27 102/week @ 2026-07-04 43/week @ 2026-07-11 41/week @ 2026-07-18 69/week @ 2026-07-25 64/week @ 2026-08-01

221 downloads per month

MIT license

48KB
1.5K SLoC

libchm

Pure-Rust reader for CHM (Compiled HTML Help) archives.

Installation

cargo add libchm

Usage

use libchm::{ChmFile, EntrySel};

fn main() -> libchm::Result<()> {
    let mut chm = ChmFile::open("docs.chm")?;
    for entry in chm.entries(EntrySel::ALL)? {
        println!("{}", entry.path);
    }
    let entry = chm.find("/index.html")?;
    let bytes = chm.read(&entry)?;
    println!("index size: {}", bytes.len());
    Ok(())
}

EntrySel is a bitflag that filters by category (NORMAL, SPECIAL, META) and kind (FILES, DIRS). Use EntrySel::ALL to get everything or combine flags as needed.

License

MIT

Dependencies

~0.6–1.1MB
~27K SLoC