Skip to content

v0.2.2

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Aug 23:26
v0.2.2
7384b6f

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_gap only looked for runs of two or more spaces, causing tab-separated columns to appear undocumented (e.g., mokutil --help reported 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 for mokutil and restores 11 real commands for mysqladmin/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 --help pairs POSIX short options with GNU long equivalents separated by a tab. Treating that tab as a description gap previously gave -f progfile the 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 --help opens its Options: 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 for kill.