Merge pull request #105 from marco-m/document-subcommand-fail-early

README: how to terminate a program when no subcommands are specified
This commit is contained in:
Alex Flint 2020-01-23 11:08:28 -08:00 committed by GitHub
commit 7e2466d707
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 0 deletions

View File

@ -442,6 +442,17 @@ Some additional rules apply when working with subcommands:
* The `subcommand` tag can only be used with fields that are pointers to structs
* Any struct that contains a subcommand must not contain any positionals
This package allows to have a program that accepts subcommands, but also does something else
when no subcommands are specified.
If on the other hand you want the program to terminate when no subcommands are specified,
the recommended way is:
```go
p := arg.MustParse(&args)
if p.Subcommand() == nil {
p.Fail("missing subcommand")
}
```
### API Documentation