diff options
| author | Jeff Carr <[email protected]> | 2025-10-28 14:54:41 -0500 | 
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-28 14:54:41 -0500 | 
| commit | 27fc781490a9594e347a57378ded765febac82f4 (patch) | |
| tree | 38b3328a4a3f24c7d08fd8fc46ff5bbff0527a31 | |
| parent | 7b9a36df98b5dbad66443e69f8d28ee8c0a66940 (diff) | |
okay. what is up with this?
| -rw-r--r-- | complete.go | 27 | 
1 files 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 <tab> 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 {  | 
