abridge 1.1.6

Compress a sorted word list or decompress a file compressed by abridge or word-list-compress.
Documentation
# 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](https://duckduckgo.com/?q=word-list-compress) to Rust. It doesn't have
anything to do with the [GNU Aspell](http://aspell.net/) 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](https://clap.rs) 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](https://rustup.rs/).

```shell
cargo install abridge
```

## Usage

See `abridge --help`.

## Examples

```shell
abridge -c < words.txt # compress words.txt
```

```shell
abridge --decompress < words.tzip # decompress words.tzip
```

```shell
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](https://www.gnu.org/licenses/gpl-3.0.en.html).