Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Non-interactive Usage

Use -o, --output <FORMAT> to print a plain or JSON analysis report, or a quoted JSON or Rust string literal and exit. This requires no interactive terminal, fonts, or clipboard and does not load user configuration.

Usage

sauva -o plain U+00BD
sauva -o json U+00BD
sauva -o json --text - < input.txt > report.json
sauva -o json-string U+2192
sauva --output rust-string --text 'Á😀'

Input is required and follows the shared input interpretation and --text rules. Use - to read stdin. Empty input is rejected.

An explicit --graphics option cannot be combined with --output, including --graphics auto. Omitting --output starts the TUI, even when stdout is redirected.

Each result ends with one LF. Input line endings are preserved in the parsed text and escaped inside reports or string literals.

Output Formats

FormatOutput
plainA human-readable Unicode analysis report; see Plain Reports for its contents and an example
jsonA Unicode analysis report; see JSON Reports for its contents and examples
json-stringA quoted JSON string literal, such as "A\u0301\uD83D\uDE00"
rust-stringA quoted Rust string literal, such as "A\u{301}\u{1F600}"

String literals use ASCII escapes for non-ASCII characters and controls. A single character is also a string literal. The original text is preserved without normalization or decoding escape sequences. Surrogate code points cannot be output as strings.

The literal matches the corresponding copy dialog format; clipboard copies do not include the extra LF.

Exit Codes

Successful output goes to stdout; errors go to stderr.

CodeMeaning
0Success, including a downstream reader closing the output pipe
1Input or output I/O failure, invalid UTF-8 on stdin, or a surrogate code point that cannot be output as a string
2Missing or invalid input or options, including empty input