This commit is contained in:
149
vendor/github.com/spf13/pflag/errors.go
generated
vendored
Normal file
149
vendor/github.com/spf13/pflag/errors.go
generated
vendored
Normal file
@ -0,0 +1,149 @@
|
||||
package pflag
|
||||
|
||||
import "fmt"
|
||||
|
||||
// notExistErrorMessageType specifies which flavor of "flag does not exist"
|
||||
// is printed by NotExistError. This allows the related errors to be grouped
|
||||
// under a single NotExistError struct without making a breaking change to
|
||||
// the error message text.
|
||||
type notExistErrorMessageType int
|
||||
|
||||
const (
|
||||
flagNotExistMessage notExistErrorMessageType = iota
|
||||
flagNotDefinedMessage
|
||||
flagNoSuchFlagMessage
|
||||
flagUnknownFlagMessage
|
||||
flagUnknownShorthandFlagMessage
|
||||
)
|
||||
|
||||
// NotExistError is the error returned when trying to access a flag that
|
||||
// does not exist in the FlagSet.
|
||||
type NotExistError struct {
|
||||
name string
|
||||
specifiedShorthands string
|
||||
messageType notExistErrorMessageType
|
||||
}
|
||||
|
||||
// Error implements error.
|
||||
func (e *NotExistError) Error() string {
|
||||
switch e.messageType {
|
||||
case flagNotExistMessage:
|
||||
return fmt.Sprintf("flag %q does not exist", e.name)
|
||||
|
||||
case flagNotDefinedMessage:
|
||||
return fmt.Sprintf("flag accessed but not defined: %s", e.name)
|
||||
|
||||
case flagNoSuchFlagMessage:
|
||||
return fmt.Sprintf("no such flag -%v", e.name)
|
||||
|
||||
case flagUnknownFlagMessage:
|
||||
return fmt.Sprintf("unknown flag: --%s", e.name)
|
||||
|
||||
case flagUnknownShorthandFlagMessage:
|
||||
c := rune(e.name[0])
|
||||
return fmt.Sprintf("unknown shorthand flag: %q in -%s", c, e.specifiedShorthands)
|
||||
}
|
||||
|
||||
panic(fmt.Errorf("unknown flagNotExistErrorMessageType: %v", e.messageType))
|
||||
}
|
||||
|
||||
// GetSpecifiedName returns the name of the flag (without dashes) as it
|
||||
// appeared in the parsed arguments.
|
||||
func (e *NotExistError) GetSpecifiedName() string {
|
||||
return e.name
|
||||
}
|
||||
|
||||
// GetSpecifiedShortnames returns the group of shorthand arguments
|
||||
// (without dashes) that the flag appeared within. If the flag was not in a
|
||||
// shorthand group, this will return an empty string.
|
||||
func (e *NotExistError) GetSpecifiedShortnames() string {
|
||||
return e.specifiedShorthands
|
||||
}
|
||||
|
||||
// ValueRequiredError is the error returned when a flag needs an argument but
|
||||
// no argument was provided.
|
||||
type ValueRequiredError struct {
|
||||
flag *Flag
|
||||
specifiedName string
|
||||
specifiedShorthands string
|
||||
}
|
||||
|
||||
// Error implements error.
|
||||
func (e *ValueRequiredError) Error() string {
|
||||
if len(e.specifiedShorthands) > 0 {
|
||||
c := rune(e.specifiedName[0])
|
||||
return fmt.Sprintf("flag needs an argument: %q in -%s", c, e.specifiedShorthands)
|
||||
}
|
||||
|
||||
return fmt.Sprintf("flag needs an argument: --%s", e.specifiedName)
|
||||
}
|
||||
|
||||
// GetFlag returns the flag for which the error occurred.
|
||||
func (e *ValueRequiredError) GetFlag() *Flag {
|
||||
return e.flag
|
||||
}
|
||||
|
||||
// GetSpecifiedName returns the name of the flag (without dashes) as it
|
||||
// appeared in the parsed arguments.
|
||||
func (e *ValueRequiredError) GetSpecifiedName() string {
|
||||
return e.specifiedName
|
||||
}
|
||||
|
||||
// GetSpecifiedShortnames returns the group of shorthand arguments
|
||||
// (without dashes) that the flag appeared within. If the flag was not in a
|
||||
// shorthand group, this will return an empty string.
|
||||
func (e *ValueRequiredError) GetSpecifiedShortnames() string {
|
||||
return e.specifiedShorthands
|
||||
}
|
||||
|
||||
// InvalidValueError is the error returned when an invalid value is used
|
||||
// for a flag.
|
||||
type InvalidValueError struct {
|
||||
flag *Flag
|
||||
value string
|
||||
cause error
|
||||
}
|
||||
|
||||
// Error implements error.
|
||||
func (e *InvalidValueError) Error() string {
|
||||
flag := e.flag
|
||||
var flagName string
|
||||
if flag.Shorthand != "" && flag.ShorthandDeprecated == "" {
|
||||
flagName = fmt.Sprintf("-%s, --%s", flag.Shorthand, flag.Name)
|
||||
} else {
|
||||
flagName = fmt.Sprintf("--%s", flag.Name)
|
||||
}
|
||||
return fmt.Sprintf("invalid argument %q for %q flag: %v", e.value, flagName, e.cause)
|
||||
}
|
||||
|
||||
// Unwrap implements errors.Unwrap.
|
||||
func (e *InvalidValueError) Unwrap() error {
|
||||
return e.cause
|
||||
}
|
||||
|
||||
// GetFlag returns the flag for which the error occurred.
|
||||
func (e *InvalidValueError) GetFlag() *Flag {
|
||||
return e.flag
|
||||
}
|
||||
|
||||
// GetValue returns the invalid value that was provided.
|
||||
func (e *InvalidValueError) GetValue() string {
|
||||
return e.value
|
||||
}
|
||||
|
||||
// InvalidSyntaxError is the error returned when a bad flag name is passed on
|
||||
// the command line.
|
||||
type InvalidSyntaxError struct {
|
||||
specifiedFlag string
|
||||
}
|
||||
|
||||
// Error implements error.
|
||||
func (e *InvalidSyntaxError) Error() string {
|
||||
return fmt.Sprintf("bad flag syntax: %s", e.specifiedFlag)
|
||||
}
|
||||
|
||||
// GetSpecifiedName returns the exact flag (with dashes) as it
|
||||
// appeared in the parsed arguments.
|
||||
func (e *InvalidSyntaxError) GetSpecifiedFlag() string {
|
||||
return e.specifiedFlag
|
||||
}
|
Reference in New Issue
Block a user