Merge remote-tracking branch 'origin/main' into mostynb-report_source_of_parse_errors

This commit is contained in:
2022-04-30 14:19:06 -04:00
56 changed files with 1655 additions and 703 deletions

View File

@@ -1,6 +1,9 @@
package cli
import "flag"
import (
"flag"
"fmt"
)
// StringFlag is a flag with type string
type StringFlag struct {
@@ -60,6 +63,22 @@ func (f *StringFlag) IsVisible() bool {
return !f.Hidden
}
// GetDefaultText returns the default text for this flag
func (f *StringFlag) GetDefaultText() string {
if f.DefaultText != "" {
return f.DefaultText
}
if f.Value == "" {
return f.Value
}
return fmt.Sprintf("%q", f.Value)
}
// GetEnvVars returns the env vars for this flag
func (f *StringFlag) GetEnvVars() []string {
return f.EnvVars
}
// Apply populates the flag given the flag set and environment
func (f *StringFlag) Apply(set *flag.FlagSet) error {
if val, _, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
@@ -80,8 +99,8 @@ func (f *StringFlag) Apply(set *flag.FlagSet) error {
// String looks up the value of a local StringFlag, returns
// "" if not found
func (c *Context) String(name string) string {
if fs := c.lookupFlagSet(name); fs != nil {
func (cCtx *Context) String(name string) string {
if fs := cCtx.lookupFlagSet(name); fs != nil {
return lookupString(name, fs)
}
return ""