From c614bd9642d87a0ff7a55918c3f796b42bd22f43 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 6 May 2018 14:07:12 +0100 Subject: [PATCH] Update kingpin package to 2.2.6 --- Gopkg.lock | 4 ++-- vendor/gopkg.in/alecthomas/kingpin.v2/app.go | 3 +++ .../gopkg.in/alecthomas/kingpin.v2/parser.go | 18 ++++++++++++++++-- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/Gopkg.lock b/Gopkg.lock index eb6a3a0..3322d40 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -19,8 +19,8 @@ [[projects]] name = "gopkg.in/alecthomas/kingpin.v2" packages = ["."] - revision = "1087e65c9441605df944fb12c33f0fe7072d18ca" - version = "v2.2.5" + revision = "947dcec5ba9c011838740e680966fd7087a71d0d" + version = "v2.2.6" [solve-meta] analyzer-name = "dep" diff --git a/vendor/gopkg.in/alecthomas/kingpin.v2/app.go b/vendor/gopkg.in/alecthomas/kingpin.v2/app.go index a5e8b80..1a1a5ef 100644 --- a/vendor/gopkg.in/alecthomas/kingpin.v2/app.go +++ b/vendor/gopkg.in/alecthomas/kingpin.v2/app.go @@ -402,6 +402,9 @@ func (a *Application) setDefaults(context *ParseContext) error { flagElements := map[string]*ParseElement{} for _, element := range context.Elements { if flag, ok := element.Clause.(*FlagClause); ok { + if flag.name == "help" { + return nil + } flagElements[flag.name] = element } } diff --git a/vendor/gopkg.in/alecthomas/kingpin.v2/parser.go b/vendor/gopkg.in/alecthomas/kingpin.v2/parser.go index efa198a..2a18351 100644 --- a/vendor/gopkg.in/alecthomas/kingpin.v2/parser.go +++ b/vendor/gopkg.in/alecthomas/kingpin.v2/parser.go @@ -153,6 +153,10 @@ func (p *ParseContext) EOL() bool { return p.Peek().Type == TokenEOL } +func (p *ParseContext) Error() bool { + return p.Peek().Type == TokenError +} + // Next token in the parse context. func (p *ParseContext) Next() *Token { if len(p.peek) > 0 { @@ -266,9 +270,12 @@ func (p *ParseContext) matchedCmd(cmd *CmdClause) { // Expand arguments from a file. Lines starting with # will be treated as comments. func ExpandArgsFromFile(filename string) (out []string, err error) { + if filename == "" { + return nil, fmt.Errorf("expected @ file to expand arguments from") + } r, err := os.Open(filename) if err != nil { - return nil, err + return nil, fmt.Errorf("failed to open arguments file %q: %s", filename, err) } defer r.Close() scanner := bufio.NewScanner(r) @@ -280,6 +287,9 @@ func ExpandArgsFromFile(filename string) (out []string, err error) { out = append(out, line) } err = scanner.Err() + if err != nil { + return nil, fmt.Errorf("failed to read arguments from %q: %s", filename, err) + } return } @@ -291,7 +301,7 @@ func parse(context *ParseContext, app *Application) (err error) { ignoreDefault := context.ignoreDefault loop: - for !context.EOL() { + for !context.EOL() && !context.Error() { token := context.Peek() switch token.Type { @@ -365,6 +375,10 @@ loop: } } + if context.Error() { + return fmt.Errorf("%s", context.Peek().Value) + } + if !context.EOL() { return fmt.Errorf("unexpected %s", context.Peek()) }