commandlineparser / commandlineparser/commandline

Enum list options not displayed in help text

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

描述

Apologies if this question/bug was already open

**Describe the bug**
The property: `HelpText.AddenumValuesToHelpText` does not work when the option is of type `IEnummerable<{Enum}>`. I'm guessing the list is masking the fact that its containing an enum.

Is it possible to have the same `Valid values: {enum values}` in the help text to be displayed when its a list of enums?

**To Reproduce**
1. Create an option of type `IEnummerable<{Enum}>`
2. configure a parser as follows:
```cs
var parser = new Parser(with =>
{
with.CaseInsensitiveEnumValues = true;
with.HelpWriter = null;
with.AutoVersion = false;
});

var parserResult = parser.ParseArguments(args.SplitArgs());
parserResult
.WithNotParsed(_ =>
{
var helpText = HelpText.AutoBuild(parserResult, h =>
{
h.AutoVersion = false;
h.Heading = string.Empty;
h.Copyright = string.Empty;
h.AddEnumValuesToHelpText = true;

return h;
});
Console.WriteLine(helpText);
});
```
3. use the --help to find no `Valid values: {enum values}` in the help text.

**Expected behavior**
I expected a list of enums to still show available options

**Screenshots**
![image](https://github.com/commandlineparser/commandline/assets/19995485/94050f9a-7496-4bed-b8ac-ae4f2add7953)
![image](https://github.com/commandlineparser/commandline/assets/19995485/ba77ab82-42cd-43a0-a052-2185c3b80ba7)
![image](https://github.com/commandlineparser/commandline/assets/19995485/6c465d85-404a-474c-8c48-810620fdd025)

貢獻指南

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

研究方向

Start by reproducing the issue with an option typed as IEnumerable, using the Parser and HelpText.AutoBuild configuration shown in the report. Trace how AddEnumValuesToHelpText handles collection option types; done means the generated --help output includes the enum's valid values for list options, while preserving existing behavior for scalar enums.

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

評估

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

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

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