commandlineparser / commandlineparser/commandline

HelpVerbOption does not show detailed help for a specific verb

未关闭
#86 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement
主要语言
C#
星标
4.8k
派生
478
PR 合并指标
30 天内没有已合并 PR

描述

**Issue by [Kohlroulade](https://github.com/Kohlroulade)**
_Monday Sep 12, 2016 at 07:47 GMT_
_Originally opened as https://github.com/gsscoder/commandline/issues/347_

----

As mentioned on [this thread at StackOverflow](http://stackoverflow.com/questions/39079282/helpverboption-does-not-work-command-line-parser-c-sharp/39347522#39347522) the `HelpVerbOption` only shows the general help for the available verb, but not the detailed help for a particular help-verb.

I suppose this is because of code in method `TryParseHelpVerb` in `Parser.cs`. Assume we entered `MyApp help theVerb` on bash. As `args.FirstOrDefault` will allways evaluate to `help` instead of the actual verb we want the help for and the `optionMap` on the next line won´t contain an option for `help` the method will allways return `false` as the calling method `DoParseArgumentsVerbs` also.

To come around have a look at [my suggested solution](http://stackoverflow.com/a/39347522/2528063) within the thread. Maybe we should add some checks in order to don´t get an NRE or similar, however I hope you get what I ment.

EDIT: To make the solution also work for the `--help` option in combination with a verb we may also trim the `args[0]` within `if (string.Compare(args[0], helpInfo.Right.LongName, GetStringComparison(_settings)) == 0)` also in `Parser.cs`.

贡献指南

这个仓库没有索引到贡献指南

调研方向

从 Parser.cs 开始,重点查看 TryParseHelpVerb 及其调用方 DoParseArgumentsVerbs,然后重现报告中的 `MyApp help theVerb`,以及带有 verb 情况的 `--help`。完成的标准是:特定 verb 显示其详细帮助,而不是仅显示通用 verb 帮助,并且不会发生 null 引用失败。

由索引模型根据 Issue 内容生成。

评估

技术栈
csharp
领域
cli
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。