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