diff options
| author | Eyal Posener <[email protected]> | 2017-05-06 00:53:03 +0300 |
|---|---|---|
| committer | Eyal Posener <[email protected]> | 2017-05-06 00:53:03 +0300 |
| commit | 5dbf53eec0f066e97f443d1d85e1ba9ee288f1b5 (patch) | |
| tree | 75cf5d3d38f3fb4ca0ad78a71c018bf9afcc0176 | |
| parent | 87dada1ec4de1a1404a908d45b13765bb83f9ec6 (diff) | |
nicer signature for PredictSet
| -rw-r--r-- | complete_test.go | 14 | ||||
| -rw-r--r-- | gocomplete/complete.go | 2 | ||||
| -rw-r--r-- | predicate.go | 2 |
3 files changed, 15 insertions, 3 deletions
diff --git a/complete_test.go b/complete_test.go index a6daa98..6bee548 100644 --- a/complete_test.go +++ b/complete_test.go @@ -25,7 +25,7 @@ func TestCompleter_Complete(t *testing.T) { "sub2": { Flags: map[string]Predicate{ "-flag2": PredictNothing, - "-flag3": PredictNothing, + "-flag3": PredictSet("opt1", "opt2", "opt12"), }, Args: PredictDirs("./tests/").Or(PredictFiles("./tests/*.md")), }, @@ -160,6 +160,18 @@ func TestCompleter_Complete(t *testing.T) { args: "-o ./complete.go ", want: allGlobals, }, + { + args: "-o sub2 -flag3 ", + want: []string{"opt1", "opt2", "opt12"}, + }, + { + args: "-o sub2 -flag3 opt1", + want: []string{"opt1", "opt12"}, + }, + { + args: "-o sub2 -flag3 opt", + want: []string{"opt1", "opt2", "opt12"}, + }, } for _, tt := range tests { diff --git a/gocomplete/complete.go b/gocomplete/complete.go index 57fbaa1..11a948f 100644 --- a/gocomplete/complete.go +++ b/gocomplete/complete.go @@ -58,7 +58,7 @@ func main() { "-benchtime": complete.PredictAnything, "-count": complete.PredictAnything, "-cover": complete.PredictNothing, - "-covermode": complete.PredictSet([]string{"set", "count", "atomic"}), + "-covermode": complete.PredictSet("set", "count", "atomic"), "-coverpkg": complete.PredictDirs("./"), "-cpu": complete.PredictAnything, "-run": predictTest("test"), diff --git a/predicate.go b/predicate.go index 08a6722..bcf48b8 100644 --- a/predicate.go +++ b/predicate.go @@ -37,7 +37,7 @@ var ( PredictAnything = Predicate{} ) -func PredictSet(options []string) Predicate { +func PredictSet(options ...string) Predicate { return Predicate{ Predictor: func() []Option { ret := make([]Option, len(options)) |
