#word-list #word #list #dictionary #cli #stdin

bin+lib abridge

Compress a sorted word list or decompress a file compressed by abridge or word-list-compress

1 stable release

1.1.6 Jun 7, 2021
1.1.5 Jun 5, 2021
1.0.1 Jun 5, 2021

#592 in Compression

GPL-3.0-or-later

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