* update github.com/blevesearch/bleve v2.0.2 -> v2.0.3 * github.com/denisenkom/go-mssqldb v0.9.0 -> v0.10.0 * github.com/editorconfig/editorconfig-core-go v2.4.1 -> v2.4.2 * github.com/go-chi/cors v1.1.1 -> v1.2.0 * github.com/go-git/go-billy v5.0.0 -> v5.1.0 * github.com/go-git/go-git v5.2.0 -> v5.3.0 * github.com/go-ldap/ldap v3.2.4 -> v3.3.0 * github.com/go-redis/redis v8.6.0 -> v8.8.2 * github.com/go-sql-driver/mysql v1.5.0 -> v1.6.0 * github.com/go-swagger/go-swagger v0.26.1 -> v0.27.0 * github.com/lib/pq v1.9.0 -> v1.10.1 * github.com/mattn/go-sqlite3 v1.14.6 -> v1.14.7 * github.com/go-testfixtures/testfixtures v3.5.0 -> v3.6.0 * github.com/issue9/identicon v1.0.1 -> v1.2.0 * github.com/klauspost/compress v1.11.8 -> v1.12.1 * github.com/mgechev/revive v1.0.3 -> v1.0.6 * github.com/microcosm-cc/bluemonday v1.0.7 -> v1.0.8 * github.com/niklasfasching/go-org v1.4.0 -> v1.5.0 * github.com/olivere/elastic v7.0.22 -> v7.0.24 * github.com/pelletier/go-toml v1.8.1 -> v1.9.0 * github.com/prometheus/client_golang v1.9.0 -> v1.10.0 * github.com/xanzy/go-gitlab v0.44.0 -> v0.48.0 * github.com/yuin/goldmark v1.3.3 -> v1.3.5 * github.com/6543/go-version v1.2.4 -> v1.3.1 * do github.com/lib/pq v1.10.0 -> v1.10.1 again ...
		
			
				
	
	
		
			139 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
| package flags
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| )
 | |
| 
 | |
| // ErrorType represents the type of error.
 | |
| type ErrorType uint
 | |
| 
 | |
| const (
 | |
| 	// ErrUnknown indicates a generic error.
 | |
| 	ErrUnknown ErrorType = iota
 | |
| 
 | |
| 	// ErrExpectedArgument indicates that an argument was expected.
 | |
| 	ErrExpectedArgument
 | |
| 
 | |
| 	// ErrUnknownFlag indicates an unknown flag.
 | |
| 	ErrUnknownFlag
 | |
| 
 | |
| 	// ErrUnknownGroup indicates an unknown group.
 | |
| 	ErrUnknownGroup
 | |
| 
 | |
| 	// ErrMarshal indicates a marshalling error while converting values.
 | |
| 	ErrMarshal
 | |
| 
 | |
| 	// ErrHelp indicates that the built-in help was shown (the error
 | |
| 	// contains the help message).
 | |
| 	ErrHelp
 | |
| 
 | |
| 	// ErrNoArgumentForBool indicates that an argument was given for a
 | |
| 	// boolean flag (which don't not take any arguments).
 | |
| 	ErrNoArgumentForBool
 | |
| 
 | |
| 	// ErrRequired indicates that a required flag was not provided.
 | |
| 	ErrRequired
 | |
| 
 | |
| 	// ErrShortNameTooLong indicates that a short flag name was specified,
 | |
| 	// longer than one character.
 | |
| 	ErrShortNameTooLong
 | |
| 
 | |
| 	// ErrDuplicatedFlag indicates that a short or long flag has been
 | |
| 	// defined more than once
 | |
| 	ErrDuplicatedFlag
 | |
| 
 | |
| 	// ErrTag indicates an error while parsing flag tags.
 | |
| 	ErrTag
 | |
| 
 | |
| 	// ErrCommandRequired indicates that a command was required but not
 | |
| 	// specified
 | |
| 	ErrCommandRequired
 | |
| 
 | |
| 	// ErrUnknownCommand indicates that an unknown command was specified.
 | |
| 	ErrUnknownCommand
 | |
| 
 | |
| 	// ErrInvalidChoice indicates an invalid option value which only allows
 | |
| 	// a certain number of choices.
 | |
| 	ErrInvalidChoice
 | |
| 
 | |
| 	// ErrInvalidTag indicates an invalid tag or invalid use of an existing tag
 | |
| 	ErrInvalidTag
 | |
| )
 | |
| 
 | |
| func (e ErrorType) String() string {
 | |
| 	switch e {
 | |
| 	case ErrUnknown:
 | |
| 		return "unknown"
 | |
| 	case ErrExpectedArgument:
 | |
| 		return "expected argument"
 | |
| 	case ErrUnknownFlag:
 | |
| 		return "unknown flag"
 | |
| 	case ErrUnknownGroup:
 | |
| 		return "unknown group"
 | |
| 	case ErrMarshal:
 | |
| 		return "marshal"
 | |
| 	case ErrHelp:
 | |
| 		return "help"
 | |
| 	case ErrNoArgumentForBool:
 | |
| 		return "no argument for bool"
 | |
| 	case ErrRequired:
 | |
| 		return "required"
 | |
| 	case ErrShortNameTooLong:
 | |
| 		return "short name too long"
 | |
| 	case ErrDuplicatedFlag:
 | |
| 		return "duplicated flag"
 | |
| 	case ErrTag:
 | |
| 		return "tag"
 | |
| 	case ErrCommandRequired:
 | |
| 		return "command required"
 | |
| 	case ErrUnknownCommand:
 | |
| 		return "unknown command"
 | |
| 	case ErrInvalidChoice:
 | |
| 		return "invalid choice"
 | |
| 	case ErrInvalidTag:
 | |
| 		return "invalid tag"
 | |
| 	}
 | |
| 
 | |
| 	return "unrecognized error type"
 | |
| }
 | |
| 
 | |
| func (e ErrorType) Error() string {
 | |
| 	return e.String()
 | |
| }
 | |
| 
 | |
| // Error represents a parser error. The error returned from Parse is of this
 | |
| // type. The error contains both a Type and Message.
 | |
| type Error struct {
 | |
| 	// The type of error
 | |
| 	Type ErrorType
 | |
| 
 | |
| 	// The error message
 | |
| 	Message string
 | |
| }
 | |
| 
 | |
| // Error returns the error's message
 | |
| func (e *Error) Error() string {
 | |
| 	return e.Message
 | |
| }
 | |
| 
 | |
| func newError(tp ErrorType, message string) *Error {
 | |
| 	return &Error{
 | |
| 		Type:    tp,
 | |
| 		Message: message,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func newErrorf(tp ErrorType, format string, args ...interface{}) *Error {
 | |
| 	return newError(tp, fmt.Sprintf(format, args...))
 | |
| }
 | |
| 
 | |
| func wrapError(err error) *Error {
 | |
| 	ret, ok := err.(*Error)
 | |
| 
 | |
| 	if !ok {
 | |
| 		return newError(ErrUnknown, err.Error())
 | |
| 	}
 | |
| 
 | |
| 	return ret
 | |
| }
 |