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
221 downloads per month
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