Nested bracket groups, description bullet lists and or-joined choice rows - #155
Merged
Merged
Conversation
… fixes S-173: a description's own `* NAME - VALUE` bullet no longer splits at its inline dash (rustc --emit). S-174 generalizes S-119's nested-bracket-value matcher by depth so trailing text before the outer close survives (fzf --listen, rustc -l). S-133: icupkg's -tl/-tb/-te rows fold into one -t/--type flag with choices, gated on the raw "or"-joined literal so pod2man's --lquote/--rquote (issue #142's own trap) stay untouched and separate; #142 stays open for the still-broken -c/--copyright row. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
S-174 clears the five-tool bar on the full-PATH sweep (cpio, fzf, journalctl, lsusb, node, nodejs, rustc), so it is not a gated exception. Also records S-133's three-rows-become-one count and its xfail fencing gap, and that S-173 lives in mandible-tui so the controls are its fence. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Keep-both in CHANGELOG, docs/shapes.md (S-173 and S-174 after S-172), grammar.rs (three new value-spec readers side by side), the fzf contract (both tables, the union of the flag lists) and parse_body's flag transforms, with S-163's collision resolver still last. rustc's `-l` reblessed: `<KIND>[:<MODIFIERS>` becomes the whole `[<KIND>[:<MODIFIERS>]=]` group its own row writes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three value-spec and description defects one reader apart: a nested bracket pair keeps its whole outer group even when more of that group follows the inner pair's close, a description's own
* NAME - VALUEbullet list stops splitting at its inline dash, and icupkg's-tl or --type lrows fold into one flag whose choices each keep their own description.Fleet sweep against the 0b30c15 baseline, 2269 tools matched, 0 appeared, 0 disappeared, 0 subcommand losses or gains. The nested-bracket fix moves seven tools and clears the five-tool bar: cpio
-I/-O, fzf--listen, journalctl-n/--lines, lsusb-s, node and nodejs--inspect/--inspect-brk/--inspect-wait, rustc-l, each read against that tool's own text. Four come out complete and three recover the outer group only, withFILE-NAME,[devnum]and<NAME>[:<RENAME>]still unrendered after it; that trailing part is a separate rule, and the atlas says so per tool.The one flag-count line,
icupkg: 19 to 17, is three rows becoming one, not two flags vanishing: each row's ownl,bandevalue and its own description survive as that flag's choices, and the trailing sentence rides along. pod2man is byte-identical before and after, so the alias fold this keys on the literalortoken does not repeat round 10's refused relaxation; icupkg's fixture stays xfail for its separate-c/--copyrightdefect and #142 stays open.The bullet-list fix is in
mandible-tui's renderer rather than the parser, so a sweep is structurally blind to it and the controls are its fence: eight of the nine named controls are byte-identical on the first capture, docker differs on its own screen by 4 lines with half of them the lazy-extraction placeholder, and the#fp2tree fingerprint is identical between baseline and branch for all nine.