Documentation ¶
Overview ¶
Package appcmd contains helper functionality for applications using commands.
Index ¶
- func BindMultiple(bindFuncs ...func(*pflag.FlagSet)) func(*pflag.FlagSet)
- func Main(ctx context.Context, command *Command)
- func NewInvalidArgumentError(message string) error
- func NewInvalidArgumentErrorf(format string, args ...interface{}) error
- func Run(ctx context.Context, container app.Container, command *Command) error
- type Command
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BindMultiple ¶
BindMultiple is a convenience function for binding multiple flag functions.
func Main ¶
Main runs the application using the OS container and calling os.Exit on the return value of Run.
func NewInvalidArgumentError ¶
NewInvalidArgumentError creates a new invalidArgumentError, indicating that the error was caused by argument validation. This causes us to print the usage help text for the command that it is returned from.
func NewInvalidArgumentErrorf ¶
NewInvalidArgumentErrorf creates a new InvalidArgumentError, indicating that the error was caused by argument validation. This causes us to print the usage help text for the command that it is returned from.
Types ¶
type Command ¶
type Command struct { // Use is the one-line usage message. // Required. Use string // Aliases are aliases that can be used instead of the first word in Use. Aliases []string // Short is the short message shown in the 'help' output. // Required if Long is set. Short string // Long is the long message shown in the 'help <this-command>' output. // The Short field will be prepended to the Long field with two newlines. // Must be unset if short is unset. Long string // Args are the expected arguments. // // TODO: make specific types for appcmd to limit what can be done. Args cobra.PositionalArgs // Deprecated says to print this deprecation string. Deprecated string // Hidden says to hide this command. Hidden bool // BindFlags allows binding of flags on build. BindFlags func(*pflag.FlagSet) // BindPersistentFlags allows binding of flags on build. BindPersistentFlags func(*pflag.FlagSet) // NormalizeFlag allows for normalization of flag names. NormalizeFlag func(*pflag.FlagSet, string) string // NormalizePersistentFlag allows for normalization of flag names. NormalizePersistentFlag func(*pflag.FlagSet, string) string // Run is the command to run. // Required if there are no sub-commands. // Must be unset if there are sub-commands. Run func(context.Context, app.Container) error // SubCommands are the sub-commands. Optional. // Must be unset if there is a run function. SubCommands []*Command // Version the version of the command. // // If this is specified, a flag --version will be added to the command // that precedes all other functionality, and which prints the version // to stdout. Version string }
Command is a command.
func NewDeletedCommand ¶
NewDeletedCommand returns a new Command that accepts any flags and any arguments, but will return an error with the given message for all invocations. The short help is also equal to the given message.