refactor: apply golangci-lint autofixes, work around false positives

This commit is contained in:
Ville Skyttä 2025-03-27 00:45:29 +02:00 committed by Marc Khouzam
parent 75790e48fb
commit 4af7b64d31
6 changed files with 18 additions and 19 deletions

View file

@ -375,7 +375,7 @@ func (c *Command) getCompletions(args []string) (*Command, []Completion, ShellCo
// Error while attempting to parse flags // Error while attempting to parse flags
if flagErr != nil { if flagErr != nil {
// If error type is flagCompError and we don't want flagCompletion we should ignore the error // If error type is flagCompError and we don't want flagCompletion we should ignore the error
if _, ok := flagErr.(*flagCompError); !(ok && !flagCompletion) { if _, ok := flagErr.(*flagCompError); !ok || flagCompletion {
return finalCmd, []Completion{}, ShellCompDirectiveDefault, flagErr return finalCmd, []Completion{}, ShellCompDirectiveDefault, flagErr
} }
} }
@ -773,7 +773,7 @@ See each sub-command's help for details on how to use the generated script.
// shell completion for it (prog __complete completion '') // shell completion for it (prog __complete completion '')
subCmd, cmdArgs, err := c.Find(args) subCmd, cmdArgs, err := c.Find(args)
if err != nil || subCmd.Name() != compCmdName && if err != nil || subCmd.Name() != compCmdName &&
!(subCmd.Name() == ShellCompRequestCmd && len(cmdArgs) > 1 && cmdArgs[0] == compCmdName) { (subCmd.Name() != ShellCompRequestCmd || len(cmdArgs) <= 1 || cmdArgs[0] != compCmdName) {
// The completion command is not being called or being completed so we remove it. // The completion command is not being called or being completed so we remove it.
c.RemoveCommand(completionCmd) c.RemoveCommand(completionCmd)
return return

View file

@ -2899,7 +2899,7 @@ func TestCompletionFuncCompatibility(t *testing.T) {
var userComp func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective) var userComp func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective)
// check against new signature // check against new signature
var _ CompletionFunc = userComp var _ CompletionFunc = userComp //nolint:staticcheck // LHS type is needed for this use case
// check Command accepts // check Command accepts
cmd := Command{ cmd := Command{
@ -2913,8 +2913,7 @@ func TestCompletionFuncCompatibility(t *testing.T) {
var userComp func(cmd *Command, args []string, toComplete string) ([]Completion, ShellCompDirective) var userComp func(cmd *Command, args []string, toComplete string) ([]Completion, ShellCompDirective)
// check against new signature // check against new signature
var _ CompletionFunc = userComp var _ CompletionFunc = userComp //nolint:staticcheck // LHS type is needed for this use case
// check Command accepts // check Command accepts
cmd := Command{ cmd := Command{
ValidArgsFunction: userComp, ValidArgsFunction: userComp,
@ -2927,8 +2926,8 @@ func TestCompletionFuncCompatibility(t *testing.T) {
var userComp CompletionFunc var userComp CompletionFunc
// check helper against old signature // check helper against old signature
var _ func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective) = userComp var _ func(cmd *Command, args []string, toComplete string) ([]string, ShellCompDirective) = userComp //nolint:staticcheck // LHS type is needed for this use case
var _ func(cmd *Command, args []string, toComplete string) ([]Completion, ShellCompDirective) = userComp var _ func(cmd *Command, args []string, toComplete string) ([]Completion, ShellCompDirective) = userComp //nolint:staticcheck // LHS type is needed for this use case
// check Command accepts // check Command accepts
cmd := Command{ cmd := Command{
@ -2967,7 +2966,7 @@ func TestCompletionFuncCompatibility(t *testing.T) {
var userComp UserCompletionTypeAliasHelper var userComp UserCompletionTypeAliasHelper
// Here we are validating the existing type validates the CompletionFunc type // Here we are validating the existing type validates the CompletionFunc type
var _ CompletionFunc = userComp var _ CompletionFunc = userComp //nolint:staticcheck // LHS type is needed for this use case
cmd := Command{ cmd := Command{
ValidArgsFunction: userComp, ValidArgsFunction: userComp,

View file

@ -212,7 +212,7 @@ func genMan(cmd *cobra.Command, header *GenManHeader) []byte {
manPrintOptions(buf, cmd) manPrintOptions(buf, cmd)
if len(cmd.Example) > 0 { if len(cmd.Example) > 0 {
buf.WriteString("# EXAMPLE\n") buf.WriteString("# EXAMPLE\n")
buf.WriteString(fmt.Sprintf("```\n%s\n```\n", cmd.Example)) fmt.Fprintf(buf, "```\n%s\n```\n", cmd.Example)
} }
if hasSeeAlso(cmd) { if hasSeeAlso(cmd) {
buf.WriteString("# SEE ALSO\n") buf.WriteString("# SEE ALSO\n")
@ -240,7 +240,7 @@ func genMan(cmd *cobra.Command, header *GenManHeader) []byte {
buf.WriteString(strings.Join(seealsos, ", ") + "\n") buf.WriteString(strings.Join(seealsos, ", ") + "\n")
} }
if !cmd.DisableAutoGenTag { if !cmd.DisableAutoGenTag {
buf.WriteString(fmt.Sprintf("# HISTORY\n%s Auto generated by spf13/cobra\n", header.Date.Format("2-Jan-2006"))) fmt.Fprintf(buf, "# HISTORY\n%s Auto generated by spf13/cobra\n", header.Date.Format("2-Jan-2006"))
} }
return buf.Bytes() return buf.Bytes()
} }

View file

@ -69,12 +69,12 @@ func GenMarkdownCustom(cmd *cobra.Command, w io.Writer, linkHandler func(string)
} }
if cmd.Runnable() { if cmd.Runnable() {
buf.WriteString(fmt.Sprintf("```\n%s\n```\n\n", cmd.UseLine())) fmt.Fprintf(buf, "```\n%s\n```\n\n", cmd.UseLine())
} }
if len(cmd.Example) > 0 { if len(cmd.Example) > 0 {
buf.WriteString("### Examples\n\n") buf.WriteString("### Examples\n\n")
buf.WriteString(fmt.Sprintf("```\n%s\n```\n\n", cmd.Example)) fmt.Fprintf(buf, "```\n%s\n```\n\n", cmd.Example)
} }
if err := printOptions(buf, cmd, name); err != nil { if err := printOptions(buf, cmd, name); err != nil {
@ -87,7 +87,7 @@ func GenMarkdownCustom(cmd *cobra.Command, w io.Writer, linkHandler func(string)
pname := parent.CommandPath() pname := parent.CommandPath()
link := pname + markdownExtension link := pname + markdownExtension
link = strings.ReplaceAll(link, " ", "_") link = strings.ReplaceAll(link, " ", "_")
buf.WriteString(fmt.Sprintf("* [%s](%s)\t - %s\n", pname, linkHandler(link), parent.Short)) fmt.Fprintf(buf, "* [%s](%s)\t - %s\n", pname, linkHandler(link), parent.Short)
cmd.VisitParents(func(c *cobra.Command) { cmd.VisitParents(func(c *cobra.Command) {
if c.DisableAutoGenTag { if c.DisableAutoGenTag {
cmd.DisableAutoGenTag = c.DisableAutoGenTag cmd.DisableAutoGenTag = c.DisableAutoGenTag
@ -105,7 +105,7 @@ func GenMarkdownCustom(cmd *cobra.Command, w io.Writer, linkHandler func(string)
cname := name + " " + child.Name() cname := name + " " + child.Name()
link := cname + markdownExtension link := cname + markdownExtension
link = strings.ReplaceAll(link, " ", "_") link = strings.ReplaceAll(link, " ", "_")
buf.WriteString(fmt.Sprintf("* [%s](%s)\t - %s\n", cname, linkHandler(link), child.Short)) fmt.Fprintf(buf, "* [%s](%s)\t - %s\n", cname, linkHandler(link), child.Short)
} }
buf.WriteString("\n") buf.WriteString("\n")
} }

View file

@ -82,13 +82,13 @@ func GenReSTCustom(cmd *cobra.Command, w io.Writer, linkHandler func(string, str
buf.WriteString("\n" + long + "\n\n") buf.WriteString("\n" + long + "\n\n")
if cmd.Runnable() { if cmd.Runnable() {
buf.WriteString(fmt.Sprintf("::\n\n %s\n\n", cmd.UseLine())) fmt.Fprintf(buf, "::\n\n %s\n\n", cmd.UseLine())
} }
if len(cmd.Example) > 0 { if len(cmd.Example) > 0 {
buf.WriteString("Examples\n") buf.WriteString("Examples\n")
buf.WriteString("~~~~~~~~\n\n") buf.WriteString("~~~~~~~~\n\n")
buf.WriteString(fmt.Sprintf("::\n\n%s\n\n", indentString(cmd.Example, " "))) fmt.Fprintf(buf, "::\n\n%s\n\n", indentString(cmd.Example, " "))
} }
if err := printOptionsReST(buf, cmd, name); err != nil { if err := printOptionsReST(buf, cmd, name); err != nil {
@ -101,7 +101,7 @@ func GenReSTCustom(cmd *cobra.Command, w io.Writer, linkHandler func(string, str
parent := cmd.Parent() parent := cmd.Parent()
pname := parent.CommandPath() pname := parent.CommandPath()
ref = strings.ReplaceAll(pname, " ", "_") ref = strings.ReplaceAll(pname, " ", "_")
buf.WriteString(fmt.Sprintf("* %s \t - %s\n", linkHandler(pname, ref), parent.Short)) fmt.Fprintf(buf, "* %s \t - %s\n", linkHandler(pname, ref), parent.Short)
cmd.VisitParents(func(c *cobra.Command) { cmd.VisitParents(func(c *cobra.Command) {
if c.DisableAutoGenTag { if c.DisableAutoGenTag {
cmd.DisableAutoGenTag = c.DisableAutoGenTag cmd.DisableAutoGenTag = c.DisableAutoGenTag
@ -118,7 +118,7 @@ func GenReSTCustom(cmd *cobra.Command, w io.Writer, linkHandler func(string, str
} }
cname := name + " " + child.Name() cname := name + " " + child.Name()
ref = strings.ReplaceAll(cname, " ", "_") ref = strings.ReplaceAll(cname, " ", "_")
buf.WriteString(fmt.Sprintf("* %s \t - %s\n", linkHandler(cname, ref), child.Short)) fmt.Fprintf(buf, "* %s \t - %s\n", linkHandler(cname, ref), child.Short)
} }
buf.WriteString("\n") buf.WriteString("\n")
} }

View file

@ -153,7 +153,7 @@ func genFlagResult(flags *pflag.FlagSet) []cmdOption {
// Todo, when we mark a shorthand is deprecated, but specify an empty message. // Todo, when we mark a shorthand is deprecated, but specify an empty message.
// The flag.ShorthandDeprecated is empty as the shorthand is deprecated. // The flag.ShorthandDeprecated is empty as the shorthand is deprecated.
// Using len(flag.ShorthandDeprecated) > 0 can't handle this, others are ok. // Using len(flag.ShorthandDeprecated) > 0 can't handle this, others are ok.
if !(len(flag.ShorthandDeprecated) > 0) && len(flag.Shorthand) > 0 { if len(flag.ShorthandDeprecated) == 0 && len(flag.Shorthand) > 0 {
opt := cmdOption{ opt := cmdOption{
flag.Name, flag.Name,
flag.Shorthand, flag.Shorthand,