Do not complete hidden flags
Fixes #169.
diff --git a/completion.go b/completion.go
index 894f1d6..708fa9e 100644
--- a/completion.go
+++ b/completion.go
@@ -77,7 +77,7 @@
n := make([]Completion, 0, len(names))
for k, opt := range names {
- if strings.HasPrefix(k, match) {
+ if strings.HasPrefix(k, match) && !opt.Hidden {
n = append(n, Completion{
Item: prefix + k,
Description: opt.Description,
diff --git a/completion_test.go b/completion_test.go
index f440fd7..72ee158 100644
--- a/completion_test.go
+++ b/completion_test.go
@@ -40,6 +40,7 @@
Debug bool `short:"d" long:"debug" description:"Enable debug"`
Version bool `long:"version" description:"Show version"`
Required bool `long:"required" required:"true" description:"This is required"`
+ Hidden bool `long:"hidden" hidden:"true" description:"This is hidden"`
AddCommand struct {
Positional struct {