Merge commits

This commit is contained in:
Naveen Gogineni 2022-08-16 09:50:39 -04:00
parent c8f53f9bdb
commit ff23fe0b4c
2 changed files with 28 additions and 23 deletions

View File

@ -64,8 +64,8 @@ GLOBAL OPTIONS:
COPYRIGHT: COPYRIGHT:
{{wrap .Copyright 3}}{{end}} {{wrap .Copyright 3}}{{end}}
` `
AppHelpTemplate is the text template for the Default help topic. cli.go uses AppHelpTemplate is the text template for the Default help topic. cli.go
text/template to render templates. You can render custom help text by uses text/template to render templates. You can render custom help text by
setting this variable. setting this variable.
var CommandHelpTemplate = `NAME: var CommandHelpTemplate = `NAME:
@ -201,9 +201,9 @@ func DefaultAppComplete(cCtx *Context)
func DefaultCompleteWithFlags(cmd *Command) func(cCtx *Context) func DefaultCompleteWithFlags(cmd *Command) func(cCtx *Context)
func FlagNames(name string, aliases []string) []string func FlagNames(name string, aliases []string) []string
func HandleAction(action interface{}, cCtx *Context) (err error) func HandleAction(action interface{}, cCtx *Context) (err error)
HandleAction attempts to figure out which Action signature was used. If it's HandleAction attempts to figure out which Action signature was used.
an ActionFunc or a func with the legacy signature for Action, the func is If it's an ActionFunc or a func with the legacy signature for Action,
run! the func is run!
func HandleExitCoder(err error) func HandleExitCoder(err error)
HandleExitCoder handles errors implementing ExitCoder by printing their HandleExitCoder handles errors implementing ExitCoder by printing their
@ -360,14 +360,14 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error)
to generate command-specific flags to generate command-specific flags
func (a *App) RunContext(ctx context.Context, arguments []string) (err error) func (a *App) RunContext(ctx context.Context, arguments []string) (err error)
RunContext is like Run except it takes a Context that will be passed to its RunContext is like Run except it takes a Context that will be passed to
commands and sub-commands. Through this, you can propagate timeouts and its commands and sub-commands. Through this, you can propagate timeouts and
cancellation requests cancellation requests
func (a *App) Setup() func (a *App) Setup()
Setup runs initialization code to ensure all data structures are ready for Setup runs initialization code to ensure all data structures are ready
`Run` or inspection prior to `Run`. It is internally called by `Run`, but for `Run` or inspection prior to `Run`. It is internally called by `Run`,
will return early if setup has already happened. but will return early if setup has already happened.
func (a *App) ToFishCompletion() (string, error) func (a *App) ToFishCompletion() (string, error)
ToFishCompletion creates a fish completion string for the `*App` The ToFishCompletion creates a fish completion string for the `*App` The
@ -450,6 +450,8 @@ type BoolFlag struct {
Aliases []string Aliases []string
EnvVars []string EnvVars []string
Count *int
} }
BoolFlag is a flag with type bool BoolFlag is a flag with type bool
@ -799,9 +801,9 @@ func Exit(message interface{}, exitCode int) ExitCoder
Exit wraps a message and exit code into an error, which by default is Exit wraps a message and exit code into an error, which by default is
handled with a call to os.Exit during default error handling. handled with a call to os.Exit during default error handling.
This is the simplest way to trigger a non-zero exit code for an App without This is the simplest way to trigger a non-zero exit code for an App
having to call os.Exit manually. During testing, this behavior can be without having to call os.Exit manually. During testing, this behavior
avoided by overiding the ExitErrHandler function on an App or the can be avoided by overiding the ExitErrHandler function on an App or the
package-global OsExiter function. package-global OsExiter function.
func NewExitError(message interface{}, exitCode int) ExitCoder func NewExitError(message interface{}, exitCode int) ExitCoder
@ -1435,8 +1437,8 @@ type MultiInt64Flag = SliceFlag[*Int64SliceFlag, []int64, int64]
directly, as Value and/or Destination. See also SliceFlag. directly, as Value and/or Destination. See also SliceFlag.
type MultiIntFlag = SliceFlag[*IntSliceFlag, []int, int] type MultiIntFlag = SliceFlag[*IntSliceFlag, []int, int]
MultiIntFlag extends IntSliceFlag with support for using slices directly, as MultiIntFlag extends IntSliceFlag with support for using slices directly,
Value and/or Destination. See also SliceFlag. as Value and/or Destination. See also SliceFlag.
type MultiStringFlag = SliceFlag[*StringSliceFlag, []string, string] type MultiStringFlag = SliceFlag[*StringSliceFlag, []string, string]
MultiStringFlag extends StringSliceFlag with support for using slices MultiStringFlag extends StringSliceFlag with support for using slices
@ -1517,8 +1519,8 @@ type RequiredFlag interface {
IsRequired() bool IsRequired() bool
} }
RequiredFlag is an interface that allows us to mark flags as required it RequiredFlag is an interface that allows us to mark flags as required
allows flags required flags to be backwards compatible with the Flag it allows flags required flags to be backwards compatible with the Flag
interface interface
type Serializer interface { type Serializer interface {
@ -1531,9 +1533,9 @@ type SliceFlag[T SliceFlagTarget[E], S ~[]E, E any] struct {
Value S Value S
Destination *S Destination *S
} }
SliceFlag extends implementations like StringSliceFlag and IntSliceFlag with SliceFlag extends implementations like StringSliceFlag and IntSliceFlag
support for using slices directly, as Value and/or Destination. See also with support for using slices directly, as Value and/or Destination.
SliceFlagTarget, MultiStringFlag, MultiFloat64Flag, MultiInt64Flag, See also SliceFlagTarget, MultiStringFlag, MultiFloat64Flag, MultiInt64Flag,
MultiIntFlag. MultiIntFlag.
func (x *SliceFlag[T, S, E]) Apply(set *flag.FlagSet) error func (x *SliceFlag[T, S, E]) Apply(set *flag.FlagSet) error
@ -1994,9 +1996,9 @@ func InitInputSource(flags []cli.Flag, createInputSource func() (InputSourceCont
that are supported by the input source that are supported by the input source
func InitInputSourceWithContext(flags []cli.Flag, createInputSource func(cCtx *cli.Context) (InputSourceContext, error)) cli.BeforeFunc func InitInputSourceWithContext(flags []cli.Flag, createInputSource func(cCtx *cli.Context) (InputSourceContext, error)) cli.BeforeFunc
InitInputSourceWithContext is used to to setup an InputSourceContext on a InitInputSourceWithContext is used to to setup an InputSourceContext on
cli.Command Before method. It will create a new input source based on the a cli.Command Before method. It will create a new input source based on
func provided with potentially using existing cli.Context values to the func provided with potentially using existing cli.Context values to
initialize itself. If there is no error it will then apply the new input initialize itself. If there is no error it will then apply the new input
source to any flags that are supported by the input source source to any flags that are supported by the input source

View File

@ -22,6 +22,7 @@ type Float64SliceFlag struct {
Aliases []string Aliases []string
EnvVars []string EnvVars []string
} }
// IsSet returns whether or not the flag has been set through env or file // IsSet returns whether or not the flag has been set through env or file
@ -327,6 +328,8 @@ type BoolFlag struct {
Aliases []string Aliases []string
EnvVars []string EnvVars []string
Count *int
} }
// String returns a readable representation of this value (for usage defaults) // String returns a readable representation of this value (for usage defaults)