Open
Description
While help output is required for building a good command line tool, the API surface to provide something flexible enough for people's various needs is large. The HelpBuilder
and associated types (e.g. HelpContext
) provide this today but the API is still unwieldy. We won't get it right in the System.CommandLine GA timeframe. Improvements in other areas (e.g. VT formatting and templates) will come along and will change the way we might design a better help formatting system.
Still, HelpBuilder
is flexible and a lot of understanding and feedback have gone into it, so we don't want to lose its capabilities.
The proposal here is the following:
- Move these types into a separate package where the API can be improved prior to removing it from preview.
- Retain default help functionality in System.CommandLine so that the HelpBuilder package isn't required. However, this default help experience will not allow customization beyond what is available via the various
CliSymbol
properties, e.g.CliOption.HelpName
. - Provide guidance on how to use this package and others from the community to replace the default help behavior.
Metadata
Metadata
Assignees
Labels
No labels