From 5943b1ad42eb1faeef8363f7c0078888d0589f7f Mon Sep 17 00:00:00 2001 From: Marco Molteni Date: Thu, 23 Jan 2020 18:16:28 +0100 Subject: [PATCH] README: how to terminate a program when no subcommands are specified Fixes #103 --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 037d8d9..3a77953 100644 --- a/README.md +++ b/README.md @@ -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