Skip to content

Parser still recognizes --help option even when i set the parser setting "AutoHelp" to false #596

Open
@elgonzo

Description

@elgonzo

(CommandlineParser version 2.7.82)

When using a parser with the AutoHelp setting set to false i would expect the parser to not recognize the --help option unless i have it explicitly declared as part of my options class. If i have no such declaration, i would expect the parser to treat --help as an unknown option/error. Unfortunately, this is not the case. The parser still recognizes this option, even when AutoHelp is set to false :(

The documentation comment for AutoHelp (also shown by Intellisense) seems to support my expectations:

Gets or sets a value indicating whether implicit option or verb 'help' should be supported.

But that does not seem to be what that setting actually does...

Thus my question: What is the actual purpose and supposed effect of setting AutoHelp for the parser to false? And how would i make --help not an option?

For example, if i use the unknown option --foo, the HelpText.AutoBuild method is able to generate a text containing:

ERROR(S):
  Option 'foo' is unknown.

I want to get the same result when calling my program with the (unknown) option --help:

ERROR(S):
  Option 'help' is unknown.

Unfortunately, the parser or HelpText.AutoBuild method seem to refuse to treat --help as an unknown option (both parser settings AutoHelp and IgnoreUnknownArguments are set to false)
:-(

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions