From b72816f19308d042abc92553538b91243a9c4db3 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Thu, 18 Sep 2025 15:27:27 -0500 Subject: [PATCH] add function for autocomplete --- Makefile | 4 +--- parse.go | 10 ++++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 0f68a6b..d0d88b6 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,4 @@ -all: - @echo - @echo +all: goimports vet clean: rm -f go.* diff --git a/parse.go b/parse.go index 3566936..c53cdcf 100644 --- a/parse.go +++ b/parse.go @@ -124,6 +124,16 @@ func Parse(dest ...interface{}) error { return p.Parse(flags()) } +// pass in a "pretend" os.Args. Used for bash autocomplete +func ParseFlags(flags []string, dest ...interface{}) (*Parser, error) { + p, err := NewParser(Config{}, dest...) + if err != nil { + return p, err + } + err = p.Parse(flags) + return p, err +} + // flags gets all command line arguments other than the first (program name) func flags() []string { if len(os.Args) == 0 { // os.Args could be empty