sauva 0.4.0

Terminal Unicode Explorer
sauva-0.4.0 is not a library.

Sauva

Crate Status Built With Ratatui

Terminal Unicode Explorer 🪄

About

Sauva is a terminal application for searching and browsing Unicode code points. It shows Unicode properties and a glyph preview in a responsive TUI.

  • Inspect Unicode properties, encodings, and decomposition mappings.
  • Search by character, code point, Unicode name, or formal name alias.
  • Browse planes, ranges, blocks, and code points.
  • Analyze strings by code point and grapheme cluster in Sequence mode.
  • Compare NFC, NFD, NFKC, and NFKD normalization forms.
  • Customize colors, glyph preview fonts, and keybindings.

The bundled data is based on Unicode 17.0.0. See Features for details and screenshots.

Documentation

For detailed usage, configuration, and terminal support, see the full documentation.

Installation

If you're using Cargo:

cargo install --locked sauva

Homebrew and pre-built binaries are also available. See Installation for all options.

Usage

Inspect a code point

Run sauva without arguments, or specify a character or code point:

sauva
sauva あ
sauva U+2192

Analyze text in Sequence mode

Pass a string to inspect its code points and grapheme clusters:

sauva 'Á👩‍💻'

Press Enter to inspect a selected code point, or n to compare normalization forms.

Use --text when the input would otherwise be interpreted as code point notation, or --text - to read literal UTF-8 text from stdin:

sauva --text 41
printf 'Á👩‍💻' | sauva --text -

See Sequence, Normalization, and Basic Usage for more examples.

Options

Sauva - Terminal Unicode Explorer 🪄

Usage: sauva [OPTIONS] [INPUT]

Arguments:
  [INPUT]  Text or code point to inspect, or - to read stdin

Options:
  -t, --text <TEXT>           Treat the input as literal text, without code point notation parsing; - reads stdin
  -g, --graphics <MODE>       Control glyph preview graphics [default: auto] [possible values: auto, force, iterm2, off]
      --print-default-config  Print the complete default configuration to standard output
  -h, --help                  Print help
  -V, --version               Print version

For input interpretation, stdin handling, and graphics modes, see Command Line Options.

Keybindings

Key Description
F1 Open or close contextual help
Ctrl-C Quit from any view
j / k or arrow keys Move the selection; use Up / Down in Search
/ Open Search from the Inspector
p, r, b, c Open Browse from the Inspector
Enter Open the selected item or inspect a code point
Backspace Go back in Browse or return from the Inspector to its Sequence
y Copy the selected Inspector value or normalization result
n Compare normalization forms from Sequence

See Keybindings for all controls and Custom Keybindings to customize them.

Config

Sauva loads the configuration selected by SAUVA_CONFIG_FILE, or $XDG_CONFIG_HOME/sauva/config.toml (using ~/.config when XDG_CONFIG_HOME is unset or empty).

Print the complete built-in configuration with:

sauva --print-default-config

See Configurations and Config File Format for settings and defaults.

Compatibility

macOS and Linux are supported. Glyph images are automatically enabled in kitty and Ghostty, using the Kitty graphics protocol. The iTerm2 inline image protocol is available through --graphics iterm2 with no guarantee of compatibility or future support.

Text information and analysis remain available without glyph images. Sauva uses installed system fonts and does not bundle fonts. See Compatibility for details.

License

Sauva is distributed under the MIT License.

The generated Unicode data is derived from the Unicode Character Database. See THIRD_PARTY_NOTICES and the Unicode License v3 for details.