evfmt 0.2.0

Emoji Variation Formatter
Documentation

evfmt

evfmt normalizes text/emoji variation selectors in your files.

evfmt is ready for normal formatter use. The Rust library APIs and some advanced CLI use are still experimental. evfmt follows Cargo's SemVer compatibility conventions.

It is an opinionated formatter for Unicode variation selectors:

  • chooses a deterministic bare, text, or emoji form for characters with variation sequences
  • removes stray selectors in unsupported positions
  • normalizes multi-character emoji sequences to fully qualified forms
  • respects .gitignore and .evfmtignore

Install from crates.io with:

cargo install evfmt --locked

Add the library to another crate with cargo add:

cargo add evfmt

Minimum supported Rust version (MSRV): Rust 1.88.

From a local checkout, you can also run:

cargo install --path evfmt

Quick start:

evfmt format README.markdown docs/*.markdown
evfmt check README.markdown
printf '%b' 'Love \u2764' | evfmt format

Use - as an explicit stdin operand when mixing stdin with files; ./- refers to a file literally named -.

For full documentation, see the repository README.