apple / swift-argument-parser

Straightforward, type-safe argument parsing for Swift
Apache License 2.0
3.3k stars 311 forks source link

Add ability to infer root command name from CLI args #633

Open bisgardo opened 4 months ago

bisgardo commented 4 months ago

The command name of a (Async)ParsableCommand is inferred from the name of the struct by default.

For the root command, this name is never actually part of a command; it's only used in the usage string. You can of course override it manually, but you never know if the executable gets renamed.

In my understanding, it's common for the usage string to use the actual name the command was invoked with (i.e. argv[0] in C terms). And I also think that's the only appropriate default behavior.