Version 0.2.2 behavior is documented here. Thesupport record separates local verification frompublished MoonX behavior; moonx examples use registry releases.
-p/-ps prints plain hex, -b prints bits, -e reverses bytes withinlittle-endian groups, and -i prints C include text. The last style optionwins. -E changes only the character display to the fixed provider's EBCDICmapping; bytes and numeric fields remain unchanged. -u selects uppercasehex digits. -g N selects group size, including zero for an ungrouped line;little-endian explicit groups must satisfy the provider's power-of-two rule.-c N sets columns (defaults: 16 hex, 6 bits, 30 plain, 12 include). Zerorestores the style default, except plain zero disables wrapping. Numericoptions retain the fixed provider's base-zero prefix parsing. -a toggleszero-line suppression on every occurrence and keeps the required final line.
-l N limits input bytes, -o N adds to displayed addresses, and -s Nchooses the input position. Display addresses use the frozen 64-bit unsignedprofile; other logical offsets use checked 64-bit arithmetic. A positivestdin skip reads and discards bytes. Named regular files support absolute,relative +N, end-relative -N, and relative-backward +-N positions throughpublic size/read-at operations. Backward positions before the start fail.Negative or backward stdin seeks are rejected: the public stdin interface hasno seek/borrowed-File operation, including when stdin is a redirected file.Include text accepts -n NAME and streams with the selected columns and limit.
-r/--reverse (also --revert) reverses addressed hex, plain hex, or binarydumps; little-endian and include reverse modes return the provider'sunsupported-mode diagnostic.Reverse -s N adds to addresses instead of skipping input. Loose garbage,incomplete digits, and columns follow the Vim provider. Stdout accepts forwardholes as NUL bytes and rejects backward writes while retaining the emittedprefix. A newly created output file supports sparse holes and backward patchingwith public write-at operations. The former 16 MiB allocation ceiling isremoved; reverse decoding no longer retains the complete output in memory.
A second operand selects the output file; - selects stdout. New files useexclusive creation. Existing outputs, including same-path and hard-link aliaspossibilities, are rejected before mutation. Released public APIs do not exposefile identity for checking the input/output relation. This boundary can belifted when that API is available or an explicit safe spool/overwrite policy isadopted. No realpath or byte-content comparison substitutes for inode identity.
Input and reverse output use fixed 64 KiB batches; display rows, autoskip state,and formatting batches remain bounded independently of total input size.
With no file operand, the command silently reads stdin until EOF, matching theupstream terminal, pipe, redirection, and explicit - behavior.
Standalone --version prints exactly xxd 0.2.2 followed by onenewline. Standalone --help starts with Usage: xxd, lists bothmetadata options, and ends with a newline. Both write to stdout, leave stdinunread, and exit with status 0. Exact-version publication and verificationremain recorded separately in the support record.