summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Flint <[email protected]>2015-12-10 18:28:22 -0800
committerAlex Flint <[email protected]>2015-12-10 18:28:22 -0800
commitd97f8fd931505639da3aa68847629e937de41ef9 (patch)
tree392db774acd9bde999b5ead1f405b4faa5acd460
parentce5525d7767a3016c46f0f07e26a5db4b26372c1 (diff)
parente4e9e194271bfee0bc5e60b2f0cb7eee667b10b0 (diff)
Merge pull request #24 from toothrot/master
Fix error when printing usage for multi-value arguments
-rw-r--r--usage.go2
-rw-r--r--usage_test.go6
2 files changed, 5 insertions, 3 deletions
diff --git a/usage.go b/usage.go
index fa01229..23f7aa5 100644
--- a/usage.go
+++ b/usage.go
@@ -107,7 +107,7 @@ func printOption(w io.Writer, spec *spec) {
v := spec.dest
if v.IsValid() {
z := reflect.Zero(v.Type())
- if v.Interface() != z.Interface() {
+ if v.Type().Comparable() && z.Type().Comparable() && v.Interface() != z.Interface() {
fmt.Fprintf(w, " [default: %v]", v)
}
}
diff --git a/usage_test.go b/usage_test.go
index 01c9542..07edc18 100644
--- a/usage_test.go
+++ b/usage_test.go
@@ -10,9 +10,9 @@ import (
)
func TestWriteUsage(t *testing.T) {
- expectedUsage := "usage: example [--name NAME] [--value VALUE] [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] INPUT [OUTPUT [OUTPUT ...]]\n"
+ expectedUsage := "usage: example [--name NAME] [--value VALUE] [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] [--ids IDS] INPUT [OUTPUT [OUTPUT ...]]\n"
- expectedHelp := `usage: example [--name NAME] [--value VALUE] [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] INPUT [OUTPUT [OUTPUT ...]]
+ expectedHelp := `usage: example [--name NAME] [--value VALUE] [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] [--ids IDS] INPUT [OUTPUT [OUTPUT ...]]
positional arguments:
input
@@ -25,6 +25,7 @@ options:
--dataset DATASET dataset to use
--optimize OPTIMIZE, -O OPTIMIZE
optimization level
+ --ids IDS Ids
--help, -h display this help and exit
`
var args struct {
@@ -35,6 +36,7 @@ options:
Verbose bool `arg:"-v,help:verbosity level"`
Dataset string `arg:"help:dataset to use"`
Optimize int `arg:"-O,help:optimization level"`
+ Ids []int64 `arg:"help:Ids"`
}
args.Name = "Foo Bar"
args.Value = 42