Merge remote-tracking branch 'origin/master' into allow-writer-to-be-set

Conflicts:
	app.go
	help.go
This commit is contained in:
jszwedko
2014-12-01 23:51:35 -05:00
14 changed files with 866 additions and 107 deletions

View File

@@ -30,6 +30,8 @@ type Command struct {
Flags []Flag
// Treat all flags as normal arguments if true
SkipFlagParsing bool
// Boolean to hide built-in help command
HideHelp bool
}
// Invokes the command given the context, parses ctx.Args() to generate command-specific flags
@@ -39,11 +41,13 @@ func (c Command) Run(ctx *Context) error {
return c.startApp(ctx)
}
// append help to flags
c.Flags = append(
c.Flags,
HelpFlag,
)
if !c.HideHelp {
// append help to flags
c.Flags = append(
c.Flags,
HelpFlag,
)
}
if ctx.App.EnableBashCompletion {
c.Flags = append(c.Flags, BashCompletionFlag)
@@ -115,9 +119,13 @@ func (c Command) startApp(ctx *Context) error {
app.Usage = c.Usage
}
// set CommandNotFound
app.CommandNotFound = ctx.App.CommandNotFound
// set the flags and commands
app.Commands = c.Subcommands
app.Flags = c.Flags
app.HideHelp = c.HideHelp
// bash completion
app.EnableBashCompletion = ctx.App.EnableBashCompletion