app

package

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FormatBaseName

func FormatBaseName(basename string) string

FormatBaseName is formatted as an executable file name under different operating systems according to the given name.

func WordSepNormalizeFunc

func WordSepNormalizeFunc(_ *pflag.FlagSet, name string) pflag.NormalizedName

WordSepNormalizeFunc changes all flags that contain "_" separators.

Types

type App

type App struct {
	// contains filtered or unexported fields
}

App is the main structure of a cli application. It is recommended that an app be created with the app.NewApp() function.

func NewApp

func NewApp(name string, basename string, opts ...Option) *App

NewApp creates a new application instance based on the given application name, binary name, and other options.

func (*App) AddCommand

func (a *App) AddCommand(cmd *Command)

AddCommand adds sub command to the application.

func (*App) AddCommands

func (a *App) AddCommands(cmds ...*Command)

AddCommands adds multiple sub commands to the application.

func (*App) Run

func (a *App) Run()

Run is used to launch the application.

type CliOptions

type CliOptions interface {
	// AddFlags adds flags to the specified FlagSet object.
	AddFlags(fs *pflag.FlagSet)
}

CliOptions abstracts configuration options for reading parameters from the command line.

type Command

type Command struct {
	// contains filtered or unexported fields
}

Command is a sub command structure of a cli application. It is recommended that a command be created with the app.NewCommand() function.

func NewCommand

func NewCommand(usage string, desc string, opts ...CommandOption) *Command

NewCommand creates a new sub command instance based on the given command name and other options.

func (*Command) AddCommand

func (c *Command) AddCommand(cmd *Command)

AddCommand adds sub command to the current command.

func (*Command) AddCommands

func (c *Command) AddCommands(cmds ...*Command)

AddCommands adds multiple sub commands to the current command.

type CommandOption

type CommandOption func(*Command)

CommandOption defines optional parameters for initializing the command structure.

func WithCommandOptions

func WithCommandOptions(opt CliOptions) CommandOption

WithCommandOptions to open the application's function to read from the command line.

func WithCommandRunFunc

func WithCommandRunFunc(run RunCommandFunc) CommandOption

WithCommandRunFunc is used to set the application's command startup callback function option.

type ConfigurableOptions

type ConfigurableOptions interface {
	// ApplyFlags parsing parameters from the command line or configuration file
	// to the options instance.
	ApplyFlags() []error
}

ConfigurableOptions abstracts configuration options for reading parameters from a configuration file.

type Option

type Option func(*App)

Option defines optional parameters for initializing the application structure.

func WithDescription

func WithDescription(desc string) Option

WithDescription is used to set the description of the application.

func WithNoVersion

func WithNoVersion() Option

WithNoVersion set the application does not provide version flag.

func WithOptions

func WithOptions(opt CliOptions) Option

WithOptions to open the application's function to read from the command line or read parameters from the configuration file.

func WithRunFunc

func WithRunFunc(run RunFunc) Option

WithRunFunc is used to set the application startup callback function option.

func WithSilence

func WithSilence() Option

WithSilence sets the application to silent mode, in which the program startup information, configuration information, and version information are not printed in the console.

type RunCommandFunc

type RunCommandFunc func(args []string) error

RunCommandFunc defines the application's command startup callback function.

type RunFunc

type RunFunc func(basename string) error

RunFunc defines the application's startup callback function.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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