本文整理汇总了Golang中github.com/flynn/flynn/Godeps/_workspace/src/github.com/codegangsta/cli.App.Before方法的典型用法代码示例。如果您正苦于以下问题:Golang App.Before方法的具体用法?Golang App.Before怎么用?Golang App.Before使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/flynn/flynn/Godeps/_workspace/src/github.com/codegangsta/cli.App
的用法示例。
在下文中一共展示了App.Before方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Mousetrap
func Mousetrap(app *cli.App) {
oldBefore := app.Before
app.Before = func(c *cli.Context) error {
if mousetrap.StartedByExplorer() {
cmd := exec.Command(os.Args[0], os.Args[1:]...)
cmd.Env = append(os.Environ(), "MOUSETRAP=1")
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
cmd.Run()
cmd = exec.Command("cmd.exe", "/K")
cmd.Env = os.Environ()
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err := cmd.Run()
if err != nil {
fmt.Println("Failed to execute sub-process. Error:", err)
os.Exit(1)
}
os.Exit(0)
}
if oldBefore == nil {
return nil
}
return oldBefore(c)
}
}