commandlineparser / commandlineparser/commandline
Parsing FlagCounter argument fails with `isDefault` Verb
- 主要語言
- C#
- 星號
- 4.8k
- 分支
- 478
- PR 合併指標
- 30 天內沒有已合併 PR
描述
Parsing FlagCounter arguments fail, when used together with default Verb feature with following error
```
ERROR(S):
Option 'v' is defined multiple times.
```
code sample:
```
[Verb("option", isDefault: true)]
class Options
{
[Option('v', FlagCounter = true)]
public int Verbose { get; set; }
}
class Program
{
static int Main(string[] args)
{
args = "-vv".Split(' ');
var parser = new Parser(opts => { opts.GetoptMode = true; });
var parsed = parser.ParseArguments(args);
Console.WriteLine(parsed.Value == null ? "Parsing failed" : "Flag parsed");
return 0;
}
}
```
When either specifying Verb explicitly (`args = "option -vv"`), or when counter value is <= 1 (`args = "-v"`) or when not using Verbs parsing `parser.ParseArguments(args)`, the sample above completes and successfully parses the flag value.
貢獻指南
這個儲存庫沒有索引到貢獻指南
研究方向
從提供的 C# 重現開始,將使用預設 verb 和 FlagCounter 的 ParseArguments 與明確 verb、單一 flag 和非 verb 情況進行比較。完成標準是預設 verb 情況能夠成功解析 "-vv",且不會回報 Option 'v' 被定義多次。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- csharp
- 領域
- cli
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100