Open
Description
Currently, when setting AutoHelp
and/or AutoVersion
for the parser to false
, the HelpText.AutoBuild
method does not acknowledge those parser settings for the respective HelpText
properties, thus forcing the user to repeat setting those settings for HelpText.
Right now, i have to write something like that:
static void Main(string[] args)
{
using (var cmdLineParser = new Parser(settings => { settings.AutoHelp = false; settings.AutoVersion = false; }))
{
var parserResult = cmdLineParser.ParseArguments<SomeOptionsType>(args);
parserResult
.WithNotParsed(errors => DisplayHelp(parserResult, errors))
.WithParsed(Execute);
}
}
static void DisplayHelp<T>(ParserResult<T> result, IEnumerable<Error> errs)
{
var helpText = HelpText.AutoBuild(
result,
h =>
{
h.AutoHelp = false;
h.AutoVersion = false;
return h;
}
);
Console.WriteLine(helpText);
}
Note how my code for the DisplayHelp
method is forced to again set the AutoHelp
and AutoVersion
settings for the HelpText to false
(since they default to true
, despite the respective parser settings being set to false
).
Ideally, it would be nice if HelpText.AutoBuild could initialize the HelpText instance with the values from any appropriate settings of the parser used to produce the ParserResult.
(Related discussion: #414)