From 27fc781490a9594e347a57378ded765febac82f4 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Tue, 28 Oct 2025 14:54:41 -0500 Subject: okay. what is up with this? --- complete.go | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/complete.go b/complete.go index 7cd0bbf..2033e4f 100644 --- a/complete.go +++ b/complete.go @@ -37,14 +37,18 @@ func ParseFlagsArgv(dest ...interface{}) (*Parser, error) { s := fmt.Sprintf("p.Parse() problem in argv err(%v)\n", err) panic(s) } - if argvpb.PB.ErrCounter > 2 || argvpb.PB.OutCounter > 5 { - argvpb.PB.ErrCounter = 0 - argvpb.PB.OutCounter = 0 + if argvpb.PB.ErrCounter < 5 { if argvpb.Len() == 0 { // user didn't enter any text and is hitting after the command itself p.WriteHelp(argvpb.Stderr) + if p.match != nil { + // calls back to the application. this allows the application to provide autocomplete matches + p.match() + } return p, errors.New("WriteHelp() worked") } + } + if argvpb.PB.GetCmd() == "" { // user is trying to get help for a subcommand err = p.WriteHelpForAutocomplete("", argvpb.PB.Real...) if err != nil { @@ -53,17 +57,14 @@ func ParseFlagsArgv(dest ...interface{}) (*Parser, error) { } return p, errors.New("WriteHelpForAutocomplete() worked") } - if argvpb.PB.GetCmd() != "" { - err = p.WriteHelpForAutocomplete(argvpb.PB.Partial, argvpb.PB.Real...) - fmt.Fprintf(argvpb.Stddbg, "returned from WriteHelpForAutocomplete() pb.Real(%v)\n", argvpb.PB.Real) - fmt.Fprintf(argvpb.Stddbg, "returned from WriteHelpForAutocomplete(%v)\n", err) - if p.match != nil { - // calls back to the application. this allows the application to provide autocomplete matches - p.match() - } - return p, errors.New("WriteHelpForAutocomplete() subcommand worked") + err = p.WriteHelpForAutocomplete(argvpb.PB.Partial, argvpb.PB.Real...) + fmt.Fprintf(argvpb.Stddbg, "returned from WriteHelpForAutocomplete() pb.Real(%v)\n", argvpb.PB.Real) + fmt.Fprintf(argvpb.Stddbg, "returned from WriteHelpForAutocomplete(%v)\n", err) + if p.match != nil { + // calls back to the application. this allows the application to provide autocomplete matches + p.match() } - return p, nil + return p, errors.New("WriteHelpForAutocomplete() subcommand worked") } func (p *Parser) WriteHelpForAutocompleteArgv() error { -- cgit v1.2.3