commandlineparser / commandlineparser/commandline

[Feature request] Let HelpText.AutoBuild method populate HelpText instance according to parser settings

未關閉
#595 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
feature request
主要語言
C#
星號
4.8k
分支
478
PR 合併指標
30 天內沒有已合併 PR

描述

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(args);
parserResult
.WithNotParsed(errors => DisplayHelp(parserResult, errors))
.WithParsed(Execute);
}
}

static void DisplayHelp(ParserResult result, IEnumerable 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: https://github.com/commandlineparser/commandline/issues/414)

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。