appcmd

package
v0.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 17, 2020 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package appcmd contains helper functionality for applications using commands.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BindMultiple

func BindMultiple(bindFuncs ...func(*pflag.FlagSet)) func(*pflag.FlagSet)

BindMultiple is a convenience function for binding multiple flag functions.

func Main

func Main(ctx context.Context, command *Command, version string)

Main runs the application using the OS container and calling os.Exit on the return value of Run.

func Run

func Run(ctx context.Context, container app.Container, command *Command, version string) error

Run runs the application using the container.

Types

type Command

type Command struct {
	// Use is the one-line usage message.
	// Required.
	Use 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 a newline.
	// 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
	// BindFlags allows binding of flags on build.
	BindFlags func(*pflag.FlagSet)
	// 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
}

Command is a command.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL