commandlineparser / commandlineparser/commandline

Generate Help on a specific verb

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

描述

**Describe the bug**
When I call my program with the following arguments : "help verb1", I expect that the help for this specific verb was displayed. But instead, the help for all verbs are displayed.

**To Reproduce**
```
[Verb("Verb1", HelpText ="Help Verb1")]
internal class Verb1
{
[Option(Required = true, HelpText = "Help MyOption1")]
public string MyOption1 { get; set; }
}

[Verb("Verb2",HelpText = "Help Verb2")]
internal class Verb2
{
[Option(Required = true, HelpText = "Help MyOption2")]
public string MyOption2 { get; set; }
}

internal class Program
{
static void Main(string[] args)
{
var parser = new Parser(config => config.HelpWriter = null);
var parserResult = parser.ParseArguments<
Verb1,
Verb2
>
(args);

parserResult.MapResult(
(Verb1 options) => { return 0; },
(Verb2 options) => { return 0; },
errors => {
DisplayHelp(parserResult, errors);
return 0;
});

Console.ReadKey();
}

static void DisplayHelp(ParserResult result, IEnumerable errs)
{
var helpText = HelpText.AutoBuild(result, h =>
{
h.AdditionalNewLineAfterOption = false;
h.Heading = "Myapp 2.0.0-beta"; //change header
h.Copyright = "Copyright (c) 2019 Global.com"; //change copyright text
return HelpText.DefaultParsingErrorsHandler(result, h);
}, e => e, verbsIndex:true);
Console.WriteLine(helpText);
}
}
```
When I excecute this with the command line "MyApp.exe help verb1"
The actual result is :
![image](https://github.com/commandlineparser/commandline/assets/11009997/5f5f15d8-e6bb-45bf-9574-9da22028d00d)

**Expected behavior**
This display :
Verb2 Help Verb1
MyOption2 Help MyOption2

貢獻指南

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

研究方向

Reproduce the issue with the shown Verb1 and Verb2 classes, then trace the result from ParseArguments through DisplayHelp, HelpText.AutoBuild, and DefaultParsingErrorsHandler. Check how the "help verb1" arguments are interpreted and how verbsIndex affects the output. Done means requesting help for one verb displays only that verb's help and options, with the existing all-verbs help behavior preserved.

由索引模型根據 Issue 內容生成。

評估

技術堆疊
csharp
領域
cli
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
35/100

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

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