mirror of
				https://github.com/containers/skopeo.git
				synced 2025-11-03 19:14:25 +00:00 
			
		
		
		
	fix(deps): update module github.com/spf13/cobra to v1.8.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							@@ -17,7 +17,7 @@ require (
 | 
			
		||||
	github.com/opencontainers/image-spec v1.1.0
 | 
			
		||||
	github.com/opencontainers/image-tools v1.0.0-rc3
 | 
			
		||||
	github.com/sirupsen/logrus v1.9.3
 | 
			
		||||
	github.com/spf13/cobra v1.8.0
 | 
			
		||||
	github.com/spf13/cobra v1.8.1
 | 
			
		||||
	github.com/spf13/pflag v1.0.5
 | 
			
		||||
	github.com/stretchr/testify v1.9.0
 | 
			
		||||
	github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								go.sum
									
									
									
									
									
								
							@@ -49,7 +49,7 @@ github.com/containers/storage v1.54.0 h1:xwYAlf6n9OnIlURQLLg3FYHbO74fQ/2W2N6EtQE
 | 
			
		||||
github.com/containers/storage v1.54.0/go.mod h1:PlMOoinRrBSnhYODLxt4EXl0nmJt+X0kjG0Xdt9fMTw=
 | 
			
		||||
github.com/coreos/go-oidc/v3 v3.10.0 h1:tDnXHnLyiTVyT/2zLDGj09pFPkhND8Gl8lnTRhoEaJU=
 | 
			
		||||
github.com/coreos/go-oidc/v3 v3.10.0/go.mod h1:5j11xcw0D3+SGxn6Z/WFADsgcWVMyNAlSQupk0KK3ac=
 | 
			
		||||
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 | 
			
		||||
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 | 
			
		||||
github.com/cyberphone/json-canonicalization v0.0.0-20231217050601-ba74d44ecf5f h1:eHnXnuK47UlSTOQexbzxAZfekVz6i+LKRdj1CU5DPaM=
 | 
			
		||||
github.com/cyberphone/json-canonicalization v0.0.0-20231217050601-ba74d44ecf5f/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw=
 | 
			
		||||
github.com/cyphar/filepath-securejoin v0.2.5 h1:6iR5tXJ/e6tJZzzdMc1km3Sa7RRIVBKAK32O2s7AYfo=
 | 
			
		||||
@@ -291,8 +291,8 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ
 | 
			
		||||
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
 | 
			
		||||
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA=
 | 
			
		||||
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog=
 | 
			
		||||
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
 | 
			
		||||
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
 | 
			
		||||
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
 | 
			
		||||
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
 | 
			
		||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
 | 
			
		||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 | 
			
		||||
github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6 h1:pnnLyeX7o/5aX8qUQ69P/mLojDqwda8hFOCBTmP/6hw=
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								vendor/github.com/spf13/cobra/.golangci.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								vendor/github.com/spf13/cobra/.golangci.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -26,33 +26,28 @@ linters:
 | 
			
		||||
    - errcheck
 | 
			
		||||
    #- exhaustive
 | 
			
		||||
    #- funlen
 | 
			
		||||
    - gas
 | 
			
		||||
    #- gochecknoinits
 | 
			
		||||
    - goconst
 | 
			
		||||
    #- gocritic
 | 
			
		||||
    - gocritic
 | 
			
		||||
    #- gocyclo
 | 
			
		||||
    #- gofmt
 | 
			
		||||
    - gofmt
 | 
			
		||||
    - goimports
 | 
			
		||||
    - golint
 | 
			
		||||
    #- gomnd
 | 
			
		||||
    #- goprintffuncname
 | 
			
		||||
    #- gosec
 | 
			
		||||
    #- gosimple
 | 
			
		||||
    - gosec
 | 
			
		||||
    - gosimple
 | 
			
		||||
    - govet
 | 
			
		||||
    - ineffassign
 | 
			
		||||
    - interfacer
 | 
			
		||||
    #- lll
 | 
			
		||||
    - maligned
 | 
			
		||||
    - megacheck
 | 
			
		||||
    #- misspell
 | 
			
		||||
    - misspell
 | 
			
		||||
    #- nakedret
 | 
			
		||||
    #- noctx
 | 
			
		||||
    #- nolintlint
 | 
			
		||||
    - nolintlint
 | 
			
		||||
    #- rowserrcheck
 | 
			
		||||
    #- scopelint
 | 
			
		||||
    #- staticcheck
 | 
			
		||||
    - staticcheck
 | 
			
		||||
    #- structcheck ! deprecated since v1.49.0; replaced by 'unused'
 | 
			
		||||
    #- stylecheck
 | 
			
		||||
    - stylecheck
 | 
			
		||||
    #- typecheck
 | 
			
		||||
    - unconvert
 | 
			
		||||
    #- unparam
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								vendor/github.com/spf13/cobra/active_help.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/spf13/cobra/active_help.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -17,21 +17,17 @@ package cobra
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"regexp"
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	activeHelpMarker = "_activeHelp_ "
 | 
			
		||||
	// The below values should not be changed: programs will be using them explicitly
 | 
			
		||||
	// in their user documentation, and users will be using them explicitly.
 | 
			
		||||
	activeHelpEnvVarSuffix  = "_ACTIVE_HELP"
 | 
			
		||||
	activeHelpGlobalEnvVar  = "COBRA_ACTIVE_HELP"
 | 
			
		||||
	activeHelpEnvVarSuffix  = "ACTIVE_HELP"
 | 
			
		||||
	activeHelpGlobalEnvVar  = configEnvVarGlobalPrefix + "_" + activeHelpEnvVarSuffix
 | 
			
		||||
	activeHelpGlobalDisable = "0"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var activeHelpEnvVarPrefixSubstRegexp = regexp.MustCompile(`[^A-Z0-9_]`)
 | 
			
		||||
 | 
			
		||||
// AppendActiveHelp adds the specified string to the specified array to be used as ActiveHelp.
 | 
			
		||||
// Such strings will be processed by the completion script and will be shown as ActiveHelp
 | 
			
		||||
// to the user.
 | 
			
		||||
@@ -60,8 +56,5 @@ func GetActiveHelpConfig(cmd *Command) string {
 | 
			
		||||
// variable.  It has the format <PROGRAM>_ACTIVE_HELP where <PROGRAM> is the name of the
 | 
			
		||||
// root command in upper case, with all non-ASCII-alphanumeric characters replaced by `_`.
 | 
			
		||||
func activeHelpEnvVar(name string) string {
 | 
			
		||||
	// This format should not be changed: users will be using it explicitly.
 | 
			
		||||
	activeHelpEnvVar := strings.ToUpper(fmt.Sprintf("%s%s", name, activeHelpEnvVarSuffix))
 | 
			
		||||
	activeHelpEnvVar = activeHelpEnvVarPrefixSubstRegexp.ReplaceAllString(activeHelpEnvVar, "_")
 | 
			
		||||
	return activeHelpEnvVar
 | 
			
		||||
	return configEnvVar(name, activeHelpEnvVarSuffix)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/github.com/spf13/cobra/args.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/spf13/cobra/args.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -52,9 +52,9 @@ func OnlyValidArgs(cmd *Command, args []string) error {
 | 
			
		||||
	if len(cmd.ValidArgs) > 0 {
 | 
			
		||||
		// Remove any description that may be included in ValidArgs.
 | 
			
		||||
		// A description is following a tab character.
 | 
			
		||||
		var validArgs []string
 | 
			
		||||
		validArgs := make([]string, 0, len(cmd.ValidArgs))
 | 
			
		||||
		for _, v := range cmd.ValidArgs {
 | 
			
		||||
			validArgs = append(validArgs, strings.Split(v, "\t")[0])
 | 
			
		||||
			validArgs = append(validArgs, strings.SplitN(v, "\t", 2)[0])
 | 
			
		||||
		}
 | 
			
		||||
		for _, v := range args {
 | 
			
		||||
			if !stringInSlice(v, validArgs) {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										23
									
								
								vendor/github.com/spf13/cobra/bash_completions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								vendor/github.com/spf13/cobra/bash_completions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -597,19 +597,16 @@ func writeRequiredFlag(buf io.StringWriter, cmd *Command) {
 | 
			
		||||
		if nonCompletableFlag(flag) {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		for key := range flag.Annotations {
 | 
			
		||||
			switch key {
 | 
			
		||||
			case BashCompOneRequiredFlag:
 | 
			
		||||
				format := "    must_have_one_flag+=(\"--%s"
 | 
			
		||||
				if flag.Value.Type() != "bool" {
 | 
			
		||||
					format += "="
 | 
			
		||||
				}
 | 
			
		||||
				format += cbn
 | 
			
		||||
				WriteStringAndCheck(buf, fmt.Sprintf(format, flag.Name))
 | 
			
		||||
		if _, ok := flag.Annotations[BashCompOneRequiredFlag]; ok {
 | 
			
		||||
			format := "    must_have_one_flag+=(\"--%s"
 | 
			
		||||
			if flag.Value.Type() != "bool" {
 | 
			
		||||
				format += "="
 | 
			
		||||
			}
 | 
			
		||||
			format += cbn
 | 
			
		||||
			WriteStringAndCheck(buf, fmt.Sprintf(format, flag.Name))
 | 
			
		||||
 | 
			
		||||
				if len(flag.Shorthand) > 0 {
 | 
			
		||||
					WriteStringAndCheck(buf, fmt.Sprintf("    must_have_one_flag+=(\"-%s"+cbn, flag.Shorthand))
 | 
			
		||||
				}
 | 
			
		||||
			if len(flag.Shorthand) > 0 {
 | 
			
		||||
				WriteStringAndCheck(buf, fmt.Sprintf("    must_have_one_flag+=(\"-%s"+cbn, flag.Shorthand))
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
@@ -621,7 +618,7 @@ func writeRequiredNouns(buf io.StringWriter, cmd *Command) {
 | 
			
		||||
	for _, value := range cmd.ValidArgs {
 | 
			
		||||
		// Remove any description that may be included following a tab character.
 | 
			
		||||
		// Descriptions are not supported by bash completion.
 | 
			
		||||
		value = strings.Split(value, "\t")[0]
 | 
			
		||||
		value = strings.SplitN(value, "\t", 2)[0]
 | 
			
		||||
		WriteStringAndCheck(buf, fmt.Sprintf("    must_have_one_noun+=(%q)\n", value))
 | 
			
		||||
	}
 | 
			
		||||
	if cmd.ValidArgsFunction != nil {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/github.com/spf13/cobra/cobra.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/spf13/cobra/cobra.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -193,8 +193,6 @@ func ld(s, t string, ignoreCase bool) int {
 | 
			
		||||
	d := make([][]int, len(s)+1)
 | 
			
		||||
	for i := range d {
 | 
			
		||||
		d[i] = make([]int, len(t)+1)
 | 
			
		||||
	}
 | 
			
		||||
	for i := range d {
 | 
			
		||||
		d[i][0] = i
 | 
			
		||||
	}
 | 
			
		||||
	for j := range d[0] {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										51
									
								
								vendor/github.com/spf13/cobra/command.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										51
									
								
								vendor/github.com/spf13/cobra/command.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -154,8 +154,10 @@ type Command struct {
 | 
			
		||||
	// pflags contains persistent flags.
 | 
			
		||||
	pflags *flag.FlagSet
 | 
			
		||||
	// lflags contains local flags.
 | 
			
		||||
	// This field does not represent internal state, it's used as a cache to optimise LocalFlags function call
 | 
			
		||||
	lflags *flag.FlagSet
 | 
			
		||||
	// iflags contains inherited flags.
 | 
			
		||||
	// This field does not represent internal state, it's used as a cache to optimise InheritedFlags function call
 | 
			
		||||
	iflags *flag.FlagSet
 | 
			
		||||
	// parentsPflags is all persistent flags of cmd's parents.
 | 
			
		||||
	parentsPflags *flag.FlagSet
 | 
			
		||||
@@ -706,7 +708,7 @@ Loop:
 | 
			
		||||
			// This is not a flag or a flag value. Check to see if it matches what we're looking for, and if so,
 | 
			
		||||
			// return the args, excluding the one at this position.
 | 
			
		||||
			if s == x {
 | 
			
		||||
				ret := []string{}
 | 
			
		||||
				ret := make([]string, 0, len(args)-1)
 | 
			
		||||
				ret = append(ret, args[:pos]...)
 | 
			
		||||
				ret = append(ret, args[pos+1:]...)
 | 
			
		||||
				return ret
 | 
			
		||||
@@ -754,14 +756,14 @@ func (c *Command) findSuggestions(arg string) string {
 | 
			
		||||
	if c.SuggestionsMinimumDistance <= 0 {
 | 
			
		||||
		c.SuggestionsMinimumDistance = 2
 | 
			
		||||
	}
 | 
			
		||||
	suggestionsString := ""
 | 
			
		||||
	var sb strings.Builder
 | 
			
		||||
	if suggestions := c.SuggestionsFor(arg); len(suggestions) > 0 {
 | 
			
		||||
		suggestionsString += "\n\nDid you mean this?\n"
 | 
			
		||||
		sb.WriteString("\n\nDid you mean this?\n")
 | 
			
		||||
		for _, s := range suggestions {
 | 
			
		||||
			suggestionsString += fmt.Sprintf("\t%v\n", s)
 | 
			
		||||
			_, _ = fmt.Fprintf(&sb, "\t%v\n", s)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return suggestionsString
 | 
			
		||||
	return sb.String()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Command) findNext(next string) *Command {
 | 
			
		||||
@@ -873,7 +875,7 @@ func (c *Command) ArgsLenAtDash() int {
 | 
			
		||||
 | 
			
		||||
func (c *Command) execute(a []string) (err error) {
 | 
			
		||||
	if c == nil {
 | 
			
		||||
		return fmt.Errorf("Called Execute() on a nil Command")
 | 
			
		||||
		return fmt.Errorf("called Execute() on a nil Command")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if len(c.Deprecated) > 0 {
 | 
			
		||||
@@ -1187,10 +1189,11 @@ func (c *Command) InitDefaultHelpFlag() {
 | 
			
		||||
	c.mergePersistentFlags()
 | 
			
		||||
	if c.Flags().Lookup("help") == nil {
 | 
			
		||||
		usage := "help for "
 | 
			
		||||
		if c.Name() == "" {
 | 
			
		||||
		name := c.displayName()
 | 
			
		||||
		if name == "" {
 | 
			
		||||
			usage += "this command"
 | 
			
		||||
		} else {
 | 
			
		||||
			usage += c.Name()
 | 
			
		||||
			usage += name
 | 
			
		||||
		}
 | 
			
		||||
		c.Flags().BoolP("help", "h", false, usage)
 | 
			
		||||
		_ = c.Flags().SetAnnotation("help", FlagSetByCobraAnnotation, []string{"true"})
 | 
			
		||||
@@ -1236,7 +1239,7 @@ func (c *Command) InitDefaultHelpCmd() {
 | 
			
		||||
			Use:   "help [command]",
 | 
			
		||||
			Short: "Help about any command",
 | 
			
		||||
			Long: `Help provides help for any command in the application.
 | 
			
		||||
Simply type ` + c.Name() + ` help [path to command] for full details.`,
 | 
			
		||||
Simply type ` + c.displayName() + ` help [path to command] for full details.`,
 | 
			
		||||
			ValidArgsFunction: func(c *Command, args []string, toComplete string) ([]string, ShellCompDirective) {
 | 
			
		||||
				var completions []string
 | 
			
		||||
				cmd, _, e := c.Root().Find(args)
 | 
			
		||||
@@ -1427,6 +1430,10 @@ func (c *Command) CommandPath() string {
 | 
			
		||||
	if c.HasParent() {
 | 
			
		||||
		return c.Parent().CommandPath() + " " + c.Name()
 | 
			
		||||
	}
 | 
			
		||||
	return c.displayName()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Command) displayName() string {
 | 
			
		||||
	if displayName, ok := c.Annotations[CommandDisplayNameAnnotation]; ok {
 | 
			
		||||
		return displayName
 | 
			
		||||
	}
 | 
			
		||||
@@ -1436,10 +1443,11 @@ func (c *Command) CommandPath() string {
 | 
			
		||||
// UseLine puts out the full usage for a given command (including parents).
 | 
			
		||||
func (c *Command) UseLine() string {
 | 
			
		||||
	var useline string
 | 
			
		||||
	use := strings.Replace(c.Use, c.Name(), c.displayName(), 1)
 | 
			
		||||
	if c.HasParent() {
 | 
			
		||||
		useline = c.parent.CommandPath() + " " + c.Use
 | 
			
		||||
		useline = c.parent.CommandPath() + " " + use
 | 
			
		||||
	} else {
 | 
			
		||||
		useline = c.Use
 | 
			
		||||
		useline = use
 | 
			
		||||
	}
 | 
			
		||||
	if c.DisableFlagsInUseLine {
 | 
			
		||||
		return useline
 | 
			
		||||
@@ -1452,7 +1460,6 @@ func (c *Command) UseLine() string {
 | 
			
		||||
 | 
			
		||||
// DebugFlags used to determine which flags have been assigned to which commands
 | 
			
		||||
// and which persist.
 | 
			
		||||
// nolint:goconst
 | 
			
		||||
func (c *Command) DebugFlags() {
 | 
			
		||||
	c.Println("DebugFlags called on", c.Name())
 | 
			
		||||
	var debugflags func(*Command)
 | 
			
		||||
@@ -1642,7 +1649,7 @@ func (c *Command) GlobalNormalizationFunc() func(f *flag.FlagSet, name string) f
 | 
			
		||||
// to this command (local and persistent declared here and by all parents).
 | 
			
		||||
func (c *Command) Flags() *flag.FlagSet {
 | 
			
		||||
	if c.flags == nil {
 | 
			
		||||
		c.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)
 | 
			
		||||
		c.flags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError)
 | 
			
		||||
		if c.flagErrorBuf == nil {
 | 
			
		||||
			c.flagErrorBuf = new(bytes.Buffer)
 | 
			
		||||
		}
 | 
			
		||||
@@ -1653,10 +1660,11 @@ func (c *Command) Flags() *flag.FlagSet {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// LocalNonPersistentFlags are flags specific to this command which will NOT persist to subcommands.
 | 
			
		||||
// This function does not modify the flags of the current command, it's purpose is to return the current state.
 | 
			
		||||
func (c *Command) LocalNonPersistentFlags() *flag.FlagSet {
 | 
			
		||||
	persistentFlags := c.PersistentFlags()
 | 
			
		||||
 | 
			
		||||
	out := flag.NewFlagSet(c.Name(), flag.ContinueOnError)
 | 
			
		||||
	out := flag.NewFlagSet(c.displayName(), flag.ContinueOnError)
 | 
			
		||||
	c.LocalFlags().VisitAll(func(f *flag.Flag) {
 | 
			
		||||
		if persistentFlags.Lookup(f.Name) == nil {
 | 
			
		||||
			out.AddFlag(f)
 | 
			
		||||
@@ -1666,11 +1674,12 @@ func (c *Command) LocalNonPersistentFlags() *flag.FlagSet {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// LocalFlags returns the local FlagSet specifically set in the current command.
 | 
			
		||||
// This function does not modify the flags of the current command, it's purpose is to return the current state.
 | 
			
		||||
func (c *Command) LocalFlags() *flag.FlagSet {
 | 
			
		||||
	c.mergePersistentFlags()
 | 
			
		||||
 | 
			
		||||
	if c.lflags == nil {
 | 
			
		||||
		c.lflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)
 | 
			
		||||
		c.lflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError)
 | 
			
		||||
		if c.flagErrorBuf == nil {
 | 
			
		||||
			c.flagErrorBuf = new(bytes.Buffer)
 | 
			
		||||
		}
 | 
			
		||||
@@ -1693,11 +1702,12 @@ func (c *Command) LocalFlags() *flag.FlagSet {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// InheritedFlags returns all flags which were inherited from parent commands.
 | 
			
		||||
// This function does not modify the flags of the current command, it's purpose is to return the current state.
 | 
			
		||||
func (c *Command) InheritedFlags() *flag.FlagSet {
 | 
			
		||||
	c.mergePersistentFlags()
 | 
			
		||||
 | 
			
		||||
	if c.iflags == nil {
 | 
			
		||||
		c.iflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)
 | 
			
		||||
		c.iflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError)
 | 
			
		||||
		if c.flagErrorBuf == nil {
 | 
			
		||||
			c.flagErrorBuf = new(bytes.Buffer)
 | 
			
		||||
		}
 | 
			
		||||
@@ -1718,6 +1728,7 @@ func (c *Command) InheritedFlags() *flag.FlagSet {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NonInheritedFlags returns all flags which were not inherited from parent commands.
 | 
			
		||||
// This function does not modify the flags of the current command, it's purpose is to return the current state.
 | 
			
		||||
func (c *Command) NonInheritedFlags() *flag.FlagSet {
 | 
			
		||||
	return c.LocalFlags()
 | 
			
		||||
}
 | 
			
		||||
@@ -1725,7 +1736,7 @@ func (c *Command) NonInheritedFlags() *flag.FlagSet {
 | 
			
		||||
// PersistentFlags returns the persistent FlagSet specifically set in the current command.
 | 
			
		||||
func (c *Command) PersistentFlags() *flag.FlagSet {
 | 
			
		||||
	if c.pflags == nil {
 | 
			
		||||
		c.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)
 | 
			
		||||
		c.pflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError)
 | 
			
		||||
		if c.flagErrorBuf == nil {
 | 
			
		||||
			c.flagErrorBuf = new(bytes.Buffer)
 | 
			
		||||
		}
 | 
			
		||||
@@ -1738,9 +1749,9 @@ func (c *Command) PersistentFlags() *flag.FlagSet {
 | 
			
		||||
func (c *Command) ResetFlags() {
 | 
			
		||||
	c.flagErrorBuf = new(bytes.Buffer)
 | 
			
		||||
	c.flagErrorBuf.Reset()
 | 
			
		||||
	c.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)
 | 
			
		||||
	c.flags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError)
 | 
			
		||||
	c.flags.SetOutput(c.flagErrorBuf)
 | 
			
		||||
	c.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)
 | 
			
		||||
	c.pflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError)
 | 
			
		||||
	c.pflags.SetOutput(c.flagErrorBuf)
 | 
			
		||||
 | 
			
		||||
	c.lflags = nil
 | 
			
		||||
@@ -1857,7 +1868,7 @@ func (c *Command) mergePersistentFlags() {
 | 
			
		||||
// If c.parentsPflags == nil, it makes new.
 | 
			
		||||
func (c *Command) updateParentsPflags() {
 | 
			
		||||
	if c.parentsPflags == nil {
 | 
			
		||||
		c.parentsPflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)
 | 
			
		||||
		c.parentsPflags = flag.NewFlagSet(c.displayName(), flag.ContinueOnError)
 | 
			
		||||
		c.parentsPflags.SetOutput(c.flagErrorBuf)
 | 
			
		||||
		c.parentsPflags.SortFlags = false
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										62
									
								
								vendor/github.com/spf13/cobra/completions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										62
									
								
								vendor/github.com/spf13/cobra/completions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -17,6 +17,8 @@ package cobra
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"regexp"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"sync"
 | 
			
		||||
 | 
			
		||||
@@ -211,24 +213,29 @@ func (c *Command) initCompleteCmd(args []string) {
 | 
			
		||||
				// 2- Even without completions, we need to print the directive
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			noDescriptions := (cmd.CalledAs() == ShellCompNoDescRequestCmd)
 | 
			
		||||
			noDescriptions := cmd.CalledAs() == ShellCompNoDescRequestCmd
 | 
			
		||||
			if !noDescriptions {
 | 
			
		||||
				if doDescriptions, err := strconv.ParseBool(getEnvConfig(cmd, configEnvVarSuffixDescriptions)); err == nil {
 | 
			
		||||
					noDescriptions = !doDescriptions
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			noActiveHelp := GetActiveHelpConfig(finalCmd) == activeHelpGlobalDisable
 | 
			
		||||
			out := finalCmd.OutOrStdout()
 | 
			
		||||
			for _, comp := range completions {
 | 
			
		||||
				if GetActiveHelpConfig(finalCmd) == activeHelpGlobalDisable {
 | 
			
		||||
					// Remove all activeHelp entries in this case
 | 
			
		||||
					if strings.HasPrefix(comp, activeHelpMarker) {
 | 
			
		||||
						continue
 | 
			
		||||
					}
 | 
			
		||||
				if noActiveHelp && strings.HasPrefix(comp, activeHelpMarker) {
 | 
			
		||||
					// Remove all activeHelp entries if it's disabled.
 | 
			
		||||
					continue
 | 
			
		||||
				}
 | 
			
		||||
				if noDescriptions {
 | 
			
		||||
					// Remove any description that may be included following a tab character.
 | 
			
		||||
					comp = strings.Split(comp, "\t")[0]
 | 
			
		||||
					comp = strings.SplitN(comp, "\t", 2)[0]
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				// Make sure we only write the first line to the output.
 | 
			
		||||
				// This is needed if a description contains a linebreak.
 | 
			
		||||
				// Otherwise the shell scripts will interpret the other lines as new flags
 | 
			
		||||
				// and could therefore provide a wrong completion.
 | 
			
		||||
				comp = strings.Split(comp, "\n")[0]
 | 
			
		||||
				comp = strings.SplitN(comp, "\n", 2)[0]
 | 
			
		||||
 | 
			
		||||
				// Finally trim the completion.  This is especially important to get rid
 | 
			
		||||
				// of a trailing tab when there are no description following it.
 | 
			
		||||
@@ -237,14 +244,14 @@ func (c *Command) initCompleteCmd(args []string) {
 | 
			
		||||
				// although there is no description).
 | 
			
		||||
				comp = strings.TrimSpace(comp)
 | 
			
		||||
 | 
			
		||||
				// Print each possible completion to stdout for the completion script to consume.
 | 
			
		||||
				fmt.Fprintln(finalCmd.OutOrStdout(), comp)
 | 
			
		||||
				// Print each possible completion to the output for the completion script to consume.
 | 
			
		||||
				fmt.Fprintln(out, comp)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			// As the last printout, print the completion directive for the completion script to parse.
 | 
			
		||||
			// The directive integer must be that last character following a single colon (:).
 | 
			
		||||
			// The completion script expects :<directive>
 | 
			
		||||
			fmt.Fprintf(finalCmd.OutOrStdout(), ":%d\n", directive)
 | 
			
		||||
			fmt.Fprintf(out, ":%d\n", directive)
 | 
			
		||||
 | 
			
		||||
			// Print some helpful info to stderr for the user to understand.
 | 
			
		||||
			// Output from stderr must be ignored by the completion script.
 | 
			
		||||
@@ -291,7 +298,7 @@ func (c *Command) getCompletions(args []string) (*Command, []string, ShellCompDi
 | 
			
		||||
	}
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		// Unable to find the real command. E.g., <program> someInvalidCmd <TAB>
 | 
			
		||||
		return c, []string{}, ShellCompDirectiveDefault, fmt.Errorf("Unable to find a command for arguments: %v", trimmedArgs)
 | 
			
		||||
		return c, []string{}, ShellCompDirectiveDefault, fmt.Errorf("unable to find a command for arguments: %v", trimmedArgs)
 | 
			
		||||
	}
 | 
			
		||||
	finalCmd.ctx = c.ctx
 | 
			
		||||
 | 
			
		||||
@@ -899,3 +906,34 @@ func CompError(msg string) {
 | 
			
		||||
func CompErrorln(msg string) {
 | 
			
		||||
	CompError(fmt.Sprintf("%s\n", msg))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// These values should not be changed: users will be using them explicitly.
 | 
			
		||||
const (
 | 
			
		||||
	configEnvVarGlobalPrefix       = "COBRA"
 | 
			
		||||
	configEnvVarSuffixDescriptions = "COMPLETION_DESCRIPTIONS"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var configEnvVarPrefixSubstRegexp = regexp.MustCompile(`[^A-Z0-9_]`)
 | 
			
		||||
 | 
			
		||||
// configEnvVar returns the name of the program-specific configuration environment
 | 
			
		||||
// variable.  It has the format <PROGRAM>_<SUFFIX> where <PROGRAM> is the name of the
 | 
			
		||||
// root command in upper case, with all non-ASCII-alphanumeric characters replaced by `_`.
 | 
			
		||||
func configEnvVar(name, suffix string) string {
 | 
			
		||||
	// This format should not be changed: users will be using it explicitly.
 | 
			
		||||
	v := strings.ToUpper(fmt.Sprintf("%s_%s", name, suffix))
 | 
			
		||||
	v = configEnvVarPrefixSubstRegexp.ReplaceAllString(v, "_")
 | 
			
		||||
	return v
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// getEnvConfig returns the value of the configuration environment variable
 | 
			
		||||
// <PROGRAM>_<SUFFIX> where <PROGRAM> is the name of the root command in upper
 | 
			
		||||
// case, with all non-ASCII-alphanumeric characters replaced by `_`.
 | 
			
		||||
// If the value is empty or not set, the value of the environment variable
 | 
			
		||||
// COBRA_<SUFFIX> is returned instead.
 | 
			
		||||
func getEnvConfig(cmd *Command, suffix string) string {
 | 
			
		||||
	v := os.Getenv(configEnvVar(cmd.Root().Name(), suffix))
 | 
			
		||||
	if v == "" {
 | 
			
		||||
		v = os.Getenv(configEnvVar(configEnvVarGlobalPrefix, suffix))
 | 
			
		||||
	}
 | 
			
		||||
	return v
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										34
									
								
								vendor/github.com/spf13/cobra/flag_groups.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								vendor/github.com/spf13/cobra/flag_groups.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -23,9 +23,9 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	requiredAsGroup   = "cobra_annotation_required_if_others_set"
 | 
			
		||||
	oneRequired       = "cobra_annotation_one_required"
 | 
			
		||||
	mutuallyExclusive = "cobra_annotation_mutually_exclusive"
 | 
			
		||||
	requiredAsGroupAnnotation   = "cobra_annotation_required_if_others_set"
 | 
			
		||||
	oneRequiredAnnotation       = "cobra_annotation_one_required"
 | 
			
		||||
	mutuallyExclusiveAnnotation = "cobra_annotation_mutually_exclusive"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// MarkFlagsRequiredTogether marks the given flags with annotations so that Cobra errors
 | 
			
		||||
@@ -37,7 +37,7 @@ func (c *Command) MarkFlagsRequiredTogether(flagNames ...string) {
 | 
			
		||||
		if f == nil {
 | 
			
		||||
			panic(fmt.Sprintf("Failed to find flag %q and mark it as being required in a flag group", v))
 | 
			
		||||
		}
 | 
			
		||||
		if err := c.Flags().SetAnnotation(v, requiredAsGroup, append(f.Annotations[requiredAsGroup], strings.Join(flagNames, " "))); err != nil {
 | 
			
		||||
		if err := c.Flags().SetAnnotation(v, requiredAsGroupAnnotation, append(f.Annotations[requiredAsGroupAnnotation], strings.Join(flagNames, " "))); err != nil {
 | 
			
		||||
			// Only errs if the flag isn't found.
 | 
			
		||||
			panic(err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -53,7 +53,7 @@ func (c *Command) MarkFlagsOneRequired(flagNames ...string) {
 | 
			
		||||
		if f == nil {
 | 
			
		||||
			panic(fmt.Sprintf("Failed to find flag %q and mark it as being in a one-required flag group", v))
 | 
			
		||||
		}
 | 
			
		||||
		if err := c.Flags().SetAnnotation(v, oneRequired, append(f.Annotations[oneRequired], strings.Join(flagNames, " "))); err != nil {
 | 
			
		||||
		if err := c.Flags().SetAnnotation(v, oneRequiredAnnotation, append(f.Annotations[oneRequiredAnnotation], strings.Join(flagNames, " "))); err != nil {
 | 
			
		||||
			// Only errs if the flag isn't found.
 | 
			
		||||
			panic(err)
 | 
			
		||||
		}
 | 
			
		||||
@@ -70,7 +70,7 @@ func (c *Command) MarkFlagsMutuallyExclusive(flagNames ...string) {
 | 
			
		||||
			panic(fmt.Sprintf("Failed to find flag %q and mark it as being in a mutually exclusive flag group", v))
 | 
			
		||||
		}
 | 
			
		||||
		// Each time this is called is a single new entry; this allows it to be a member of multiple groups if needed.
 | 
			
		||||
		if err := c.Flags().SetAnnotation(v, mutuallyExclusive, append(f.Annotations[mutuallyExclusive], strings.Join(flagNames, " "))); err != nil {
 | 
			
		||||
		if err := c.Flags().SetAnnotation(v, mutuallyExclusiveAnnotation, append(f.Annotations[mutuallyExclusiveAnnotation], strings.Join(flagNames, " "))); err != nil {
 | 
			
		||||
			panic(err)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
@@ -91,9 +91,9 @@ func (c *Command) ValidateFlagGroups() error {
 | 
			
		||||
	oneRequiredGroupStatus := map[string]map[string]bool{}
 | 
			
		||||
	mutuallyExclusiveGroupStatus := map[string]map[string]bool{}
 | 
			
		||||
	flags.VisitAll(func(pflag *flag.Flag) {
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, requiredAsGroup, groupStatus)
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, oneRequired, oneRequiredGroupStatus)
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, mutuallyExclusive, mutuallyExclusiveGroupStatus)
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, requiredAsGroupAnnotation, groupStatus)
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, oneRequiredAnnotation, oneRequiredGroupStatus)
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, mutuallyExclusiveAnnotation, mutuallyExclusiveGroupStatus)
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	if err := validateRequiredFlagGroups(groupStatus); err != nil {
 | 
			
		||||
@@ -130,7 +130,7 @@ func processFlagForGroupAnnotation(flags *flag.FlagSet, pflag *flag.Flag, annota
 | 
			
		||||
					continue
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				groupStatus[group] = map[string]bool{}
 | 
			
		||||
				groupStatus[group] = make(map[string]bool, len(flagnames))
 | 
			
		||||
				for _, name := range flagnames {
 | 
			
		||||
					groupStatus[group][name] = false
 | 
			
		||||
				}
 | 
			
		||||
@@ -232,9 +232,9 @@ func (c *Command) enforceFlagGroupsForCompletion() {
 | 
			
		||||
	oneRequiredGroupStatus := map[string]map[string]bool{}
 | 
			
		||||
	mutuallyExclusiveGroupStatus := map[string]map[string]bool{}
 | 
			
		||||
	c.Flags().VisitAll(func(pflag *flag.Flag) {
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, requiredAsGroup, groupStatus)
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, oneRequired, oneRequiredGroupStatus)
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, mutuallyExclusive, mutuallyExclusiveGroupStatus)
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, requiredAsGroupAnnotation, groupStatus)
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, oneRequiredAnnotation, oneRequiredGroupStatus)
 | 
			
		||||
		processFlagForGroupAnnotation(flags, pflag, mutuallyExclusiveAnnotation, mutuallyExclusiveGroupStatus)
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	// If a flag that is part of a group is present, we make all the other flags
 | 
			
		||||
@@ -253,17 +253,17 @@ func (c *Command) enforceFlagGroupsForCompletion() {
 | 
			
		||||
	// If none of the flags of a one-required group are present, we make all the flags
 | 
			
		||||
	// of that group required so that the shell completion suggests them automatically
 | 
			
		||||
	for flagList, flagnameAndStatus := range oneRequiredGroupStatus {
 | 
			
		||||
		set := 0
 | 
			
		||||
		isSet := false
 | 
			
		||||
 | 
			
		||||
		for _, isSet := range flagnameAndStatus {
 | 
			
		||||
		for _, isSet = range flagnameAndStatus {
 | 
			
		||||
			if isSet {
 | 
			
		||||
				set++
 | 
			
		||||
				break
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// None of the flags of the group are set, mark all flags in the group
 | 
			
		||||
		// as required
 | 
			
		||||
		if set == 0 {
 | 
			
		||||
		if !isSet {
 | 
			
		||||
			for _, fName := range strings.Split(flagList, " ") {
 | 
			
		||||
				_ = c.MarkFlagRequired(fName)
 | 
			
		||||
			}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/github.com/spf13/cobra/powershell_completions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/spf13/cobra/powershell_completions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -28,8 +28,8 @@ import (
 | 
			
		||||
func genPowerShellComp(buf io.StringWriter, name string, includeDesc bool) {
 | 
			
		||||
	// Variables should not contain a '-' or ':' character
 | 
			
		||||
	nameForVar := name
 | 
			
		||||
	nameForVar = strings.Replace(nameForVar, "-", "_", -1)
 | 
			
		||||
	nameForVar = strings.Replace(nameForVar, ":", "_", -1)
 | 
			
		||||
	nameForVar = strings.ReplaceAll(nameForVar, "-", "_")
 | 
			
		||||
	nameForVar = strings.ReplaceAll(nameForVar, ":", "_")
 | 
			
		||||
 | 
			
		||||
	compCmd := ShellCompRequestCmd
 | 
			
		||||
	if !includeDesc {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							@@ -516,7 +516,7 @@ github.com/sirupsen/logrus
 | 
			
		||||
# github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
 | 
			
		||||
## explicit
 | 
			
		||||
github.com/skratchdot/open-golang/open
 | 
			
		||||
# github.com/spf13/cobra v1.8.0
 | 
			
		||||
# github.com/spf13/cobra v1.8.1
 | 
			
		||||
## explicit; go 1.15
 | 
			
		||||
github.com/spf13/cobra
 | 
			
		||||
# github.com/spf13/pflag v1.0.5
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user