Documentation ¶
Overview ¶
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces. In addition to providing an interface, Cobra simultaneously provides a controller to organize your application code.
Index ¶
- Variables
- func Eq(a interface{}, b interface{}) bool
- func Gt(a interface{}, b interface{}) bool
- func OnInitialize(y ...func())
- type Command
- func (c *Command) AddCommand(cmds ...*Command)
- func (c *Command) CommandPath() string
- func (c *Command) CommandPathPadding() int
- func (c *Command) Commands() []*Command
- func (c *Command) DebugFlags()
- func (c *Command) Execute() (err error)
- func (c *Command) Find(arrs []string) (*Command, []string, error)
- func (c *Command) Flag(name string) (flag *flag.Flag)
- func (c *Command) Flags() *flag.FlagSet
- func (c *Command) HasAlias(s string) bool
- func (c *Command) HasExample() bool
- func (c *Command) HasFlags() 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) InheritedFlags() *flag.FlagSet
- func (c *Command) LocalFlags() *flag.FlagSet
- func (c *Command) Name() string
- func (c *Command) NameAndAliases() string
- func (c *Command) NamePadding() int
- func (c *Command) NonInheritedFlags() *flag.FlagSet
- func (c *Command) Out() io.Writer
- func (c *Command) Parent() *Command
- func (c *Command) ParseFlags(args []string) (err error)
- func (c *Command) PersistentFlags() *flag.FlagSet
- func (c *Command) Print(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) Runnable() bool
- func (c *Command) SetArgs(a []string)
- func (c *Command) SetHelpCommand(cmd *Command)
- func (c *Command) SetHelpFunc(f func(*Command, []string))
- func (c *Command) SetHelpTemplate(s string)
- func (c *Command) SetOutput(output io.Writer)
- func (c *Command) SetUsageFunc(f func(*Command) error)
- func (c *Command) SetUsageTemplate(s string)
- 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
Constants ¶
This section is empty.
Variables ¶
var EnablePrefixMatching bool = false
automatic prefix matching can be a dangerous thing to automatically enable in CLI tools. Set this to true to enable it
Functions ¶
func Eq ¶
func Eq(a interface{}, b interface{}) bool
Eq takes two types and checks whether they are equal. Supported types are int and string. Unsupported types will panic.
func Gt ¶
func Gt(a interface{}, b interface{}) bool
Gt takes two types and checks whether the first type is greater than the second. In case of types Arrays, Chans, Maps and Slices, Gt will compare their lengths. Ints are compared directly while strings are first parsed as ints and then compared.
func OnInitialize ¶
func OnInitialize(y ...func())
OnInitialize takes a series of func() arguments and appends them to a slice of func().
Types ¶
type Command ¶
type Command struct { // The one-line usage message. Use string // An array of aliases that can be used instead of the first word in Use. Aliases []string // The short description shown in the 'help' output. Short string // The long message shown in the 'help <this-command>' output. Long string // Examples of how to use the command Example string // Run runs the command. // The args are the arguments after the command name. Run func(cmd *Command, args []string) // contains filtered or unexported fields }
Command is just that, a command for your application. eg. 'go run' ... 'run' is the command. Cobra requires you to define the usage and description as part of your command definition to ensure usability.
func (*Command) AddCommand ¶
AddCommand adds one or more commands to this parent command.
func (*Command) CommandPath ¶
CommandPath returns the full path to this command.
func (*Command) CommandPathPadding ¶
func (*Command) DebugFlags ¶
func (c *Command) DebugFlags()
For use in determining which flags have been assigned to which commands and which persist
func (*Command) Execute ¶
Call execute to use the args (os.Args[1:] by default) and run through the command tree finding appropriate matches for commands and then corresponding flags.
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) Flags ¶
Get the complete FlagSet that applies to this command (local and persistent declared here and by all parents)
func (*Command) HasExample ¶ added in v0.12.0
func (*Command) HasFlags ¶
Does the command contain any flags (local plus persistent from the entire structure)
func (*Command) HasInheritedFlags ¶ added in v0.14.0
func (*Command) HasLocalFlags ¶ added in v0.11.0
Does the command has flags specifically declared locally
func (*Command) HasPersistentFlags ¶
Does the command contain persistent flags
func (*Command) HasSubCommands ¶
Determine if the command has children commands
func (*Command) Help ¶
Output the help for the command Used when a user calls help [command] by the default HelpFunc in the commander
func (*Command) HelpTemplate ¶
func (*Command) InheritedFlags ¶ added in v0.12.0
All Flags which were inherited from parents commands
func (*Command) LocalFlags ¶ added in v0.11.0
Get the local FlagSet specifically set in the current command
func (*Command) NameAndAliases ¶
func (*Command) NamePadding ¶ added in v0.12.0
func (*Command) NonInheritedFlags ¶ added in v0.12.0
All Flags which were not inherited from parent commands
func (*Command) ParseFlags ¶
Parses persistent flag tree & local flags
func (*Command) PersistentFlags ¶
Get the Persistent FlagSet specifically set in the current command
func (*Command) Print ¶
func (c *Command) Print(i ...interface{})
Convenience method to Print to the defined output
func (*Command) Println ¶
func (c *Command) Println(i ...interface{})
Convenience method to Println to the defined output
func (*Command) RemoveCommand ¶ added in v0.14.0
AddCommand removes one or more commands from a parent command.
func (*Command) SetArgs ¶
os.Args[1:] by default, if desired, can be overridden particularly useful when testing.
func (*Command) SetHelpCommand ¶
func (*Command) SetHelpFunc ¶
Can be defined by Application
func (*Command) SetHelpTemplate ¶
Can be defined by Application
func (*Command) SetOutput ¶
SetOutput sets the destination for usage and error messages. If output is nil, os.Stderr is used.
func (*Command) SetUsageFunc ¶
Usage can be defined by application
func (*Command) SetUsageTemplate ¶
Can be defined by Application
func (*Command) Usage ¶
Output the usage for the command Used when a user provides invalid input Can be defined by user by overriding UsageFunc