Documentation ¶
Index ¶
- Variables
- func OnlyValidArgs(cmd *Command, args []string) error
- type Command
- func (c *Command) AddCommand(cmds ...*Command) error
- func (c *Command) ArgsLenAtDash() int
- func (c *Command) CalledAs() string
- func (c *Command) Childs() []*Command
- func (c *Command) CommandPath() string
- func (c *Command) CommandPathPadding() int
- func (c *Command) Commands() []*Command
- func (c *Command) DebugFlags()
- func (c *Command) ErrOrStderr() io.Writer
- func (c *Command) Execute(cmd *Command, flags []string, pid int) error
- func (c *Command) Find(args []string) (*Command, []string, error)
- func (c *Command) Flag(name string) (xFlag *mflag.Flag)
- func (c *Command) FlagErrorFunc() (f func(*Command, error) error)
- func (c *Command) Flags() *mflag.FlagSet
- func (c *Command) GetFlagErrorFunc() func(*Command, error) error
- func (c *Command) GetGlobalNormalizationFunc() func(f *mflag.FlagSet, name string) mflag.NormalizedName
- func (c *Command) GetHelpCommand() *Command
- func (c *Command) GetHelpFunc() func(*Command, []string)
- func (c *Command) GetHelpTemplate() string
- func (c *Command) GetRootContext() interfaces.IContext
- func (c *Command) GetUsageFunc() func(*Command) error
- func (c *Command) GetUsageTemplate() string
- func (c *Command) GetVersionTemplate() string
- func (c *Command) GlobalNormalizationFunc() func(f *mflag.FlagSet, name string) mflag.NormalizedName
- func (c *Command) HasAlias(s string) bool
- func (c *Command) HasAvailableFlags() bool
- func (c *Command) HasAvailableInheritedFlags() bool
- func (c *Command) HasAvailableLocalFlags() bool
- func (c *Command) HasAvailablePersistentFlags() bool
- func (c *Command) HasAvailableSubCommands() bool
- func (c *Command) HasExample() bool
- func (c *Command) HasFlags() bool
- func (c *Command) HasHelpSubCommands() bool
- func (c *Command) HasInheritedFlags() bool
- func (c *Command) HasLocalFlags() bool
- func (c *Command) HasParent() bool
- func (c *Command) HasPersistentFlags() bool
- func (c *Command) HasSubCommands() bool
- func (c *Command) Help() error
- func (c *Command) HelpFunc() func(*Command, []string)
- func (c *Command) HelpTemplate() string
- func (c *Command) InOrStdin() io.Reader
- func (c *Command) InheritedFlags() *mflag.FlagSet
- func (c *Command) InitDefaultHelpCmd()
- func (c *Command) InitDefaultHelpFlag()
- func (c *Command) InitDefaultVersionFlag()
- func (c *Command) IsAdditionalHelpTopicCommand() bool
- func (c *Command) IsAvailableCommand() bool
- func (c *Command) LocalFlags() *mflag.FlagSet
- func (c *Command) LocalNonPersistentFlags() *mflag.FlagSet
- func (c *Command) Name() string
- func (c *Command) NameAndAliases() string
- func (c *Command) NamePadding() int
- func (c *Command) NonInheritedFlags() *mflag.FlagSet
- func (c *Command) OutOrStderr() io.Writer
- func (c *Command) OutOrStdout() io.Writer
- func (c *Command) Parent() *Command
- func (c *Command) ParseFlags(args []string) error
- func (c *Command) PersistentFlags() *mflag.FlagSet
- func (c *Command) Prepare() (*Command, []string, error)
- func (c *Command) Print(i ...interface{})
- func (c *Command) PrintErr(i ...interface{})
- func (c *Command) PrintErrf(format string, i ...interface{})
- func (c *Command) PrintErrln(i ...interface{})
- func (c *Command) Printf(format string, i ...interface{})
- func (c *Command) Println(i ...interface{})
- func (c *Command) RemoveCommand(cmds ...*Command)
- func (c *Command) ResetCommands()
- func (c *Command) ResetFlags()
- func (c *Command) Root() *Command
- func (c *Command) RootParent() *Command
- func (c *Command) Runnable() bool
- func (c *Command) SetArgs(a []string)
- func (c *Command) SetErr(newErr io.Writer)
- func (c *Command) SetFlagErrorFunc(f func(*Command, error) error)
- func (c *Command) SetGlobalNormalizationFunc(n func(f *mflag.FlagSet, name string) mflag.NormalizedName)
- func (c *Command) SetHelpCommand(cmd *Command)
- func (c *Command) SetHelpFunc(f func(*Command, []string))
- func (c *Command) SetHelpTemplate(s string)
- func (c *Command) SetIn(newIn io.Reader)
- func (c *Command) SetOut(newOut io.Writer)
- func (c *Command) SetOutput(output io.Writer)
- func (c *Command) SetRootContext(ctx interfaces.IContext)
- func (c *Command) SetUsageFunc(f func(*Command) error)
- func (c *Command) SetUsageTemplate(s string)
- func (c *Command) SetVersionTemplate(s string)
- func (c *Command) SuggestionsFor(typedName string) []string
- func (c *Command) Traverse(args []string) (*Command, []string, error)
- func (c *Command) Usage() error
- func (c *Command) UsageFunc() (f func(*Command) error)
- func (c *Command) UsagePadding() int
- func (c *Command) UsageString() string
- func (c *Command) UsageTemplate() string
- func (c *Command) UseLine() string
- func (c *Command) ValidateArgs(args []string) error
- func (c *Command) VersionTemplate() string
- func (c *Command) VisitParents(fn func(*Command))
- func (c *Command) Write(data []byte)
- func (c *Command) WriteLn(data []byte)
- type FParseErrWhitelist
- type PositionalArgs
Constants ¶
This section is empty.
Variables ¶
var CompOneRequiredFlag = "completion_one_required_flag"
var DefaultEol = "\r\n"
var EnableCommandSorting = true
EnableCommandSorting controls sorting of the slice of commands, which is turned on by default. To disable sorting, set it to false.
var EnablePrefixMatching = false
EnablePrefixMatching allows to set automatic prefix matching. Automatic prefix matching can be a dangerous thing to automatically enable in CLI tools. Set this to true to enable it.
var ErrSubCommandRequired = errors.New("subcommand is required")
Functions ¶
func OnlyValidArgs ¶
OnlyValidArgs returns an error if any args are not in the list of ValidArgs.
Types ¶
type Command ¶
type Command struct { Use string Aliases []string SuggestFor []string Short string Long string Example string ValidArgs []string Args PositionalArgs ArgAliases []string Deprecated string Hidden bool Annotations map[string]string Version string SilenceErrors bool SilenceUsage bool DisableFlagParsing bool DisableAutoGenTag bool DisableFlagsInUseLine bool DisableSuggestions bool SuggestionsMinimumDistance int TraverseChildren bool FParseErrWhitelist FParseErrWhitelist Activate bool Background bool CommonCommands bool Pid int // The *Run functions are executed in the following order: // * PersistentPreRun() // * PreRun() // * Run() // * PostRun() // * PersistentPostRun() // All functions get the same args, the arguments after the command name. // // PersistentPreRun: children of this command will inherit and execute. PersistentPreRun func(cmd *Command, pid int, args []string) // PersistentPreRunE: PersistentPreRun but returns an error. PersistentPreRunE func(cmd *Command, pid int, args []string) error // PreRun: children of this command will not inherit. PreRun func(cmd *Command, pid int, args []string) // PreRunE: PreRun but returns an error. PreRunE func(cmd *Command, pid int, args []string) error // Run: Typically the actual work function. Most commands will only implement this. Run func(cmd *Command, pid int, args []string) TimerEvent func(cmd *Command, pid int, tid int, ctx interface{}, interval int) ReadEvent func(cmd *Command, pid int, ctx interface{}, code int, key rune) PaintEvent func(cmd *Command, pid int, ctx interface{}, surface interfaces.ISurface) // RunE: Run but returns an error. RunE func(cmd *Command, pid int, args []string) error // PostRun: run after the Run command. PostRun func(cmd *Command, pid int, args []string) // PostRunE: PostRun but returns an error. PostRunE func(cmd *Command, pid int, args []string) error // PersistentPostRun: children of this command will inherit and execute after PostRun. PersistentPostRun func(cmd *Command, pid int, args []string) // PersistentPostRunE: PersistentPostRun but returns an error. PersistentPostRunE func(cmd *Command, pid int, args []string) error // contains filtered or unexported fields }
func NewCommand ¶
func NewCommand() *Command
func (*Command) AddCommand ¶
func (*Command) ArgsLenAtDash ¶
ArgsLenAtDash will return the length of c.Flags().Args at the moment when a -- was found during args parsing.
func (*Command) CalledAs ¶
CalledAs returns the command name or alias that was used to invoke this command or an empty string if the command has not been called.
func (*Command) CommandPath ¶
CommandPath returns the full path to this command.
func (*Command) CommandPathPadding ¶
CommandPathPadding return padding for the command path.
func (*Command) DebugFlags ¶
func (c *Command) DebugFlags()
DebugFlags used to determine which flags have been assigned to which commands and which persist.
func (*Command) ErrOrStderr ¶
ErrOrStderr returns output to stderr
func (*Command) Find ¶
Find the target command given the args and command tree meant to be run on the highest node. Only searches down.
func (*Command) FlagErrorFunc ¶
FlagErrorFunc returns either the function set by SetFlagErrorFunc for this command or a parent, or it returns a function which returns the original error.
func (*Command) Flags ¶
Flags returns the complete FlagSet that applies to this command (local and persistent declared here and by all parents).
func (*Command) GetGlobalNormalizationFunc ¶
func (*Command) GetHelpCommand ¶
func (*Command) GetHelpFunc ¶
func (*Command) GetHelpTemplate ¶
func (*Command) GetRootContext ¶
func (c *Command) GetRootContext() interfaces.IContext
func (*Command) GetUsageFunc ¶
func (*Command) GetUsageTemplate ¶
func (*Command) GetVersionTemplate ¶
func (*Command) GlobalNormalizationFunc ¶
func (c *Command) GlobalNormalizationFunc() func(f *mflag.FlagSet, name string) mflag.NormalizedName
GlobalNormalizationFunc returns the global normalization function or nil if it doesn't exist.
func (*Command) HasAvailableFlags ¶
HasAvailableFlags checks if the command contains any flags (local plus persistent from the entire structure) which are not hidden or deprecated.
func (*Command) HasAvailableInheritedFlags ¶
HasAvailableInheritedFlags checks if the command has flags inherited from its parent command which are not hidden or deprecated.
func (*Command) HasAvailableLocalFlags ¶
HasAvailableLocalFlags checks if the command has flags specifically declared locally which are not hidden or deprecated.
func (*Command) HasAvailablePersistentFlags ¶
HasAvailablePersistentFlags checks if the command contains persistent flags which are not hidden or deprecated.
func (*Command) HasAvailableSubCommands ¶
HasAvailableSubCommands determines if a command has available sub commands that need to be shown in the usage/help default template under 'available commands'.
func (*Command) HasExample ¶
HasExample determines if the command has example.
func (*Command) HasFlags ¶
HasFlags checks if the command contains any flags (local plus persistent from the entire structure).
func (*Command) HasHelpSubCommands ¶
HasHelpSubCommands determines if a command has any available 'help' sub commands that need to be shown in the usage/help default template under 'additional help topics'.
func (*Command) HasInheritedFlags ¶
HasInheritedFlags checks if the command has flags inherited from its parent command.
func (*Command) HasLocalFlags ¶
HasLocalFlags checks if the command has flags specifically declared locally.
func (*Command) HasPersistentFlags ¶
HasPersistentFlags checks if the command contains persistent flags.
func (*Command) HasSubCommands ¶
HasSubCommands determines if the command has children commands.
func (*Command) Help ¶
Help puts out the help for the command. Used when a user calls help [command]. Can be defined by user by overriding HelpFunc.
func (*Command) HelpFunc ¶
HelpFunc returns either the function set by SetHelpFunc for this command or a parent, or it returns a function with default help behavior.
func (*Command) HelpTemplate ¶
HelpTemplate return help template for the command.
func (*Command) InheritedFlags ¶
InheritedFlags returns all flags which were inherited from parent commands.
func (*Command) InitDefaultHelpCmd ¶
func (c *Command) InitDefaultHelpCmd()
InitDefaultHelpCmd adds default help command to c. It is called automatically by executing the c or by calling help and usage. If c already has help command or c has no subcommands, it will do nothing.
func (*Command) InitDefaultHelpFlag ¶
func (c *Command) InitDefaultHelpFlag()
InitDefaultHelpFlag adds default help flag to c. It is called automatically by executing the c or by calling help and usage. If c already has help flag, it will do nothing.
func (*Command) InitDefaultVersionFlag ¶
func (c *Command) InitDefaultVersionFlag()
InitDefaultVersionFlag adds default version flag to c. It is called automatically by executing the c. If c already has a version flag, it will do nothing. If c.Version is empty, it will do nothing.
func (*Command) IsAdditionalHelpTopicCommand ¶
IsAdditionalHelpTopicCommand determines if a command is an additional help topic command; additional help topic command is determined by the fact that it is NOT runnable/hidden/deprecated, and has no sub commands that are runnable/hidden/deprecated.
func (*Command) IsAvailableCommand ¶
IsAvailableCommand determines if a command is available as a non-help command (this includes all non deprecated/hidden commands).
func (*Command) LocalFlags ¶
LocalFlags returns the local FlagSet specifically set in the current command.
func (*Command) LocalNonPersistentFlags ¶
LocalNonPersistentFlags are flags specific to this command which will NOT persist to subcommands.
func (*Command) NameAndAliases ¶
NameAndAliases returns a list of the command name and all aliases
func (*Command) NamePadding ¶
NamePadding returns padding for the name.
func (*Command) NonInheritedFlags ¶
NonInheritedFlags returns all flags which were not inherited from parent commands.
func (*Command) OutOrStderr ¶
OutOrStderr returns output to stderr
func (*Command) OutOrStdout ¶
func (*Command) ParseFlags ¶
ParseFlags parses persistent flag tree and local flags.
func (*Command) PersistentFlags ¶
PersistentFlags returns the persistent FlagSet specifically set in the current command.
func (*Command) Print ¶
func (c *Command) Print(i ...interface{})
Print is a convenience method to Print to the defined output, fallback to Stderr if not set.
func (*Command) PrintErr ¶
func (c *Command) PrintErr(i ...interface{})
PrintErr is a convenience method to Print to the defined Err output, fallback to Stderr if not set.
func (*Command) PrintErrf ¶
PrintErrf is a convenience method to Printf to the defined Err output, fallback to Stderr if not set.
func (*Command) PrintErrln ¶
func (c *Command) PrintErrln(i ...interface{})
PrintErrln is a convenience method to Println to the defined Err output, fallback to Stderr if not set.
func (*Command) Printf ¶
Printf is a convenience method to Printf to the defined output, fallback to Stderr if not set.
func (*Command) Println ¶
func (c *Command) Println(i ...interface{})
Println is a convenience method to Println to the defined output, fallback to Stderr if not set.
func (*Command) RemoveCommand ¶
RemoveCommand removes one or more commands from a parent command.
func (*Command) ResetCommands ¶
func (c *Command) ResetCommands()
ResetCommands delete parent, subcommand and help command from c.
func (*Command) ResetFlags ¶
func (c *Command) ResetFlags()
ResetFlags deletes all flags from command.
func (*Command) RootParent ¶
func (*Command) SetErr ¶
SetErr sets the destination for error messages. If newErr is nil, os.Stderr is used.
func (*Command) SetFlagErrorFunc ¶
SetFlagErrorFunc sets a function to generate an error when mflag parsing fails.
func (*Command) SetGlobalNormalizationFunc ¶
func (c *Command) SetGlobalNormalizationFunc(n func(f *mflag.FlagSet, name string) mflag.NormalizedName)
SetGlobalNormalizationFunc sets a normalization function to all mflag sets and also to child commands. The user should not have a cyclic dependency on commands.
func (*Command) SetHelpCommand ¶
SetHelpCommand sets help command.
func (*Command) SetHelpFunc ¶
SetHelpFunc sets help function. Can be defined by Application.
func (*Command) SetHelpTemplate ¶
SetHelpTemplate sets help template to be used. Application can use it to set custom template.
func (*Command) SetOut ¶
SetOut sets the destination for usage messages. If newOut is nil, os.Stdout is used.
func (*Command) SetOutput ¶
SetOutput sets the destination for usage and error messages. If output is nil, os.Stderr is used. Deprecated: Use SetOut and/or SetErr instead
func (*Command) SetRootContext ¶
func (c *Command) SetRootContext(ctx interfaces.IContext)
func (*Command) SetUsageFunc ¶
SetUsageFunc sets usage function. Usage can be defined by application.
func (*Command) SetUsageTemplate ¶
SetUsageTemplate sets usage template. Can be defined by Application.
func (*Command) SetVersionTemplate ¶
SetVersionTemplate sets version template to be used. Application can use it to set custom template.
func (*Command) SuggestionsFor ¶
SuggestionsFor provides suggestions for the typedName.
func (*Command) Usage ¶
Usage puts out the usage for the command. Used when a user provides invalid input. Can be defined by user by overriding UsageFunc.
func (*Command) UsageFunc ¶
UsageFunc returns either the function set by SetUsageFunc for this command or a parent, or it returns a default usage function.
func (*Command) UsagePadding ¶
UsagePadding return padding for the usage.
func (*Command) UsageString ¶
UsageString returns usage string.
func (*Command) UsageTemplate ¶
UsageTemplate returns usage template for the command.
func (*Command) ValidateArgs ¶
func (*Command) VersionTemplate ¶
VersionTemplate return version template for the command.
func (*Command) VisitParents ¶
VisitParents visits all parents of the command and invokes fn on each parent.
type FParseErrWhitelist ¶
type FParseErrWhitelist mflag.ParseErrorsWhitelist
type PositionalArgs ¶
func ExactArgs ¶
func ExactArgs(n int) PositionalArgs
ExactArgs returns an error if there are not exactly n args.