Commit Graph

11 Commits

Author SHA1 Message Date
gmipf
754aa6bc32 Add man page generation from the command-line model (#2)
* Add man page generation from the command-line model

Add CommandSet.OutputManPage (string and file overloads), a ManPageInfo
type for document-level metadata, a reference ManPage feature invoked as a
man command, and UserInput.FormatManPage which reuses FormatFlags so the
page cannot drift from --help. Output uses only portable man(7) macros and
validates warning-free under groff and mandoc -T lint.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Address review feedback on man page generation

Rename the man page API to the single-word "Manpage" spelling throughout
(Manpage feature, ManpageInfo, CommandSet.OutputManpage,
UserInput.FormatManpage) for consistency with the "manpage" convention.

- Drop the redundant null check in OutputManpage; info is non-nullable
  under the enabled nullable context.
- Move the tests that exercise CommandSet.OutputManpage into
  CommandSetTests as a "Manpage Output" region, and relocate the Manpage
  feature test into a path-synced Features subfolder
  (SabreTools.CommandLine.Test.Features). Private test helpers now sit at
  the bottom of their classes.
- Fix the Manpage feature doc example to use the actual "man" command.

Builds clean across all target frameworks; the 235 tests pass and the
generated page still validates warning-free under groff -man -ww and
mandoc -T lint.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 13:53:34 -04:00
Matt Nadareski
66b0e27d4e Add support for .NET 10 2025-11-11 16:43:21 -05:00
Matt Nadareski
f38b8734b5 Simplify the method name 2025-10-07 12:07:41 -04:00
Matt Nadareski
df54b92031 Add AddChildrenFrom method to CommandSet 2025-10-07 12:03:00 -04:00
Matt Nadareski
f122bf6b6d Add tests for default parsing 2025-10-05 23:14:02 -04:00
Matt Nadareski
e26a222755 Allow nested searches for feature values 2025-10-05 22:32:16 -04:00
Matt Nadareski
0bb996153a Add Get/TryGet for Feature in CommandSet 2025-10-05 22:18:48 -04:00
Matt Nadareski
1ecce85a13 Add command set Get and TryGet tests 2025-10-05 21:52:29 -04:00
Matt Nadareski
5f463a4389 Rename TopLevelFlag to IsTopLevel and clean up wording 2025-10-05 15:22:24 -04:00
Matt Nadareski
23a483af03 Add CommandSet helper to retrieve top level items 2025-10-05 15:19:15 -04:00
Matt Nadareski
081e758dd6 Split code from SabreTools 2025-10-04 18:35:33 -04:00