From febcacbc4108f1ffec71faf5bb19ba21f081204c Mon Sep 17 00:00:00 2001 From: Alec Bakholdin Date: Thu, 30 Jun 2022 22:33:51 -0400 Subject: [PATCH 1/3] added fix to only print if the integer argument is not a flag counter --- argument.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/argument.go b/argument.go index 2688839..4edabeb 100644 --- a/argument.go +++ b/argument.go @@ -435,9 +435,15 @@ func (o *arg) usage() string { case *bool: break case *int: - result = result + " " + isFlagCounter := !o.unique && o.size == 1 + if !isFlagCounter { + result = result + " " + } case *float64: - result = result + " " + isFlagCounter := !o.unique && o.size == 1 + if !isFlagCounter { + result = result + " " + } case *string: if o.selector != nil { result = result + " (" + strings.Join(*o.selector, "|") + ")" From 3497177d222ad2c672910d1ba83a292106ac59d8 Mon Sep 17 00:00:00 2001 From: Alec Bakholdin Date: Thu, 30 Jun 2022 22:33:59 -0400 Subject: [PATCH 2/3] added example for FlagCounter --- examples/flag-counter/flag-counter.go | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 examples/flag-counter/flag-counter.go diff --git a/examples/flag-counter/flag-counter.go b/examples/flag-counter/flag-counter.go new file mode 100644 index 0000000..6be3e6a --- /dev/null +++ b/examples/flag-counter/flag-counter.go @@ -0,0 +1,31 @@ +package main + +import ( + "fmt" + "github.com/akamensky/argparse" + "os" +) + +func main() { + // initialize parser + parser := argparse.NewParser("FlagCounter", "Example of FlagCounter usage") + + // create FlagCounter argument + opts := &argparse.Options{ + Required: true, + Help: "Will print out how many instances of the flag are found. For example, both -nn and --number --number will be 2", + } + count := parser.FlagCounter("n", "number", opts) + + // parse arguments + err := parser.Parse(os.Args) + + // check for errors in parsing + if err != nil { + fmt.Printf("Error parsing: [%+v]\n", err) + return + } + + // print out the number of occurrences of the flag + fmt.Printf("Number of flags detected: [%d]\n", *count) +} From af1d68488d855f9631b3a71da6b301301522c4eb Mon Sep 17 00:00:00 2001 From: Alec Bakholdin Date: Thu, 30 Jun 2022 23:08:10 -0400 Subject: [PATCH 3/3] undid stupid mistake --- argument.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/argument.go b/argument.go index 4edabeb..0fca9d5 100644 --- a/argument.go +++ b/argument.go @@ -440,10 +440,7 @@ func (o *arg) usage() string { result = result + " " } case *float64: - isFlagCounter := !o.unique && o.size == 1 - if !isFlagCounter { - result = result + " " - } + result = result + " " case *string: if o.selector != nil { result = result + " (" + strings.Join(*o.selector, "|") + ")"