1 stable release
1.1.6 | Jun 7, 2021 |
---|---|
1.1.5 |
|
1.0.1 |
|
#592 in Compression
17KB
125 lines
abridge
Compress a sorted word list (often called a dictionary) or decompress a file compressed by abridge
or GNU
word-list-compress
.
abridge
is a port of GNU word-list-compress to Rust. It doesn't have
anything to do with the GNU Aspell project. word-list-compress
is about 150 SLOC. abridge
is
about 50 SLOC. They perform identically.
abridge
is both a Rust library and CLI, so you can use abridge
in your Rust project or run it by itself. The CLI
expects input from stdin and will output to stdout.
It only relies on clap and Rust's built-in substring
crate.
Install
You'll need the Rust compiler and Cargo. The easiest way to do that is to get rustup.
cargo install abridge
Usage
See abridge --help
.
Examples
abridge -c < words.txt # compress words.txt
abridge --decompress < words.tzip # decompress words.tzip
abridge --compress < words.txt > words.tzip # compress words.txt and save to words.tzip
Safety
abridge
can compress word lists where:
- Words are in alphabetical order
- Words are separated by newline
- Words contain ASCII characters
Words may include uppercase characters.
abridge
can decompress files compressed by abridge
or word-list-compress
alike.
Testing
Run cargo test
.
License
abridge
is licensed under GNU General Public License.
Dependencies
~1MB
~11K SLoC