textwrap 0.16.3

Library for word wrapping, indenting, and dedenting strings. Has optional support for Unicode and emojis as well as machine hyphenation.
Documentation
## Project Overview

This project is a Rust library named `textwrap` for wrapping and indenting text.
It is designed to be used in command-line programs to format dynamic output. The
library provides functions for wrapping text to a given width, filling text
(wrapping and joining with newlines), indenting, and dedenting.

The library is highly configurable and supports:

- **Optimal-fit algorithm:** for finding the best line breaks.
- **Hyphenation:** for about 70 languages.
- **Unicode support:** for handling non-ASCII characters correctly.
- **Terminal width detection:** for automatically adjusting the output to the
  terminal size.

The library is modular, and features can be enabled or disabled via Cargo
features to keep the binary size small.

## Building and Running

The project is a standard Rust library. It can be built and tested using
`cargo`.

### Building

To build the library, run:

```sh
cargo build
```

To build the library with all features, run:

```sh
cargo build --all-features
```

### Running Examples

The project includes a number of examples in the `examples` directory. To run an
example, use the `cargo run --example` command. For example, to run the
`interactive` example, which demonstrates most of the available features, run:

```sh
cargo run --example interactive
```

### Running Tests

To run the tests, run:

```sh
cargo test
```

To run the tests with all features, run:

```sh
cargo test --all-features
```

## Development Conventions

The project follows standard Rust conventions.

- **Formatting:** The code is formatted with `dprint fmt`. This will format all
  project files.
- **Linting:** The project uses `clippy` for linting.
- **Continuous Integration:** The project uses GitHub Actions for continuous
  integration. The configuration is in the `.github/workflows` directory.
- **Dependencies:** The project uses `dependabot` to keep dependencies up to
  date. The configuration is in the `.github/dependabot.yml` file.
- **Documentation:** The project has extensive documentation, which can be
  generated with `cargo doc`. The documentation is also available on
  [docs.rs]https://docs.rs/textwrap/.