From 51d2b0c75c1f1c2ce058bdc3912440dfc5269316 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 25 Oct 2025 20:50:28 -0500 Subject: finally sends to argvpb.Stdout --- complete.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/complete.go b/complete.go index 3854002..5002b3d 100644 --- a/complete.go +++ b/complete.go @@ -26,7 +26,7 @@ func (p *Parser) WriteHelpForAutocompleteArgv() error { // same as WriteHelpForSubcommand above, but can flip to STDERR and STDOUT // most shell autocomplete behavior usually wants things that way -func (p *Parser) WriteHelpForAutocomplete(partial string, subcommand ...string) error { +func (p *Parser) WriteHelpForAutocomplete(partialOld string, subcommand ...string) error { var automatch []string fmt.Fprintf(argvpb.Stderr, "go-args.WriteHelpForAutocomplete() sub(%v)\n", subcommand) // return errors.New("subcommand was nil") @@ -38,6 +38,7 @@ func (p *Parser) WriteHelpForAutocomplete(partial string, subcommand ...string) } cmd, err := p.lookupCommand(subcommand...) if err != nil { + fmt.Fprintf(argvpb.Stderr, "go-args.WriteHelpForAutocomplete() lookupCommand failed err(%v)\n", err) return err } @@ -104,9 +105,9 @@ func (p *Parser) WriteHelpForAutocomplete(partial string, subcommand ...string) p.printOption(argvpb.Stderr, spec) //jwc tmp := "--" + spec.long - if strings.HasPrefix(tmp, partial) { - automatch = append(automatch, tmp) - } + // if strings.HasPrefix(tmp, partial) { + automatch = append(automatch, tmp) + // } } } @@ -149,9 +150,9 @@ func (p *Parser) WriteHelpForAutocomplete(partial string, subcommand ...string) for _, subcmd := range cmd.subcommands { names := append([]string{subcmd.name}, subcmd.aliases...) print(argvpb.Stderr, strings.Join(names, ", "), subcmd.help) - if strings.HasPrefix(subcmd.name, partial) { - automatch = append(automatch, subcmd.name) - } + // if strings.HasPrefix(subcmd.name, partial) { + automatch = append(automatch, subcmd.name) + // } } } @@ -159,9 +160,12 @@ func (p *Parser) WriteHelpForAutocomplete(partial string, subcommand ...string) fmt.Fprintln(argvpb.Stderr, "\n"+p.epilogue) } + fmt.Fprintf(argvpb.Stderr, "go-args.WriteHelpForAutocomplete() got to the end automatch(%v)\n", automatch) // writes out the shell autocomplete matches if len(automatch) > 0 { fmt.Fprintf(argvpb.Stdout, "%s", strings.Join(automatch, " ")) + } else { + fmt.Fprintf(argvpb.Stdout, "automatchBlank") } return nil } -- cgit v1.2.3