Install
cargo install mandible
Or download a pre-compiled binary from the assets below. Verify with the accompanying .sha256.
This release introduces two general parser fixes that significantly improve documentation extraction. Together, they increase described coverage across the PATH sweep from 89.23% to 94.18% on 2,266 tools, with zero regressions.
Fixed
- Tab-Aligned Entry Tables: The parser now recognizes tabs as valid description gaps. Previously,
find_description_gaponly looked for runs of two or more spaces, causing tab-separated columns to appear undocumented (e.g.,mokutil --helpreported 38 flags with 0 described). Because a tab inherently advances to the next 8-column stop, it now correctly separates columns. This fix recovers 100% description coverage formokutiland restores 11 real commands formysqladmin/mariadb-admin. - Option Synonym Handling: As a necessary companion to the tab-alignment fix, a second column of option spellings is no longer mistakenly read as a description. For example,
awk --helppairs POSIX short options with GNU long equivalents separated by a tab. Treating that tab as a description gap previously gave-f progfilethe false description--file=progfile. Single tokens beginning with-in the description column are now recognized as synonyms and dropped, preserving the tool's accurate "no description" state. - Positional Headers in Option Tables: An options table is no longer discarded if it opens with a positional argument. The parser's flags-vs-bare-words decision previously only evaluated the section's first content line. Because
kill --helpopens itsOptions:block with<pid> [...], every subsequent flag was discarded, resulting in 0 parsed flags. The parser now evaluates up to three leading non-flag rows at the block's indent level, provided it still finds a real--leading row. This boundary deliberately prevents fabrication while successfully recovering all 6 flags forkill.