Solo Execute

This commit is contained in:
Calum Gardner 2016-08-11 20:31:43 +01:00
parent 40e19b3f3b
commit 7c32580196

View file

@ -645,17 +645,31 @@ func (c *Command) errorMsgFromParse() string {
// and run through the command tree finding appropriate matches // and run through the command tree finding appropriate matches
// for commands and then corresponding flags. // for commands and then corresponding flags.
func (c *Command) Execute() error { func (c *Command) Execute() error {
if c.HasParent() {
_, err := c.Root().ExecuteC()
return err
}
_, err := c.ExecuteC() _, err := c.ExecuteC()
return err return err
} }
func (c *Command) ExecuteC() (cmd *Command, err error) { func (c *Command) ExecuteSolo() error {
_, err := c.executeC()
return err
}
func (c *Command) ExecuteC() (cmd *Command, err error) {
// Regardless of what command execute is called on, run on Root only // Regardless of what command execute is called on, run on Root only
if c.HasParent() { if c.HasParent() {
return c.Root().ExecuteC() return c.Root().ExecuteC()
} }
cmd, err = c.executeC()
return cmd, err
}
func (c *Command) executeC() (cmd *Command, err error) {
// windows hook // windows hook
if preExecHookFn != nil { if preExecHookFn != nil {
preExecHookFn(c) preExecHookFn(c)