From f8d0365127866613884f9f3c8506e975dbe9274a Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Wed, 5 Nov 2025 09:22:44 +0100 Subject: [PATCH] fix perfsprint (concat-loop) linting Signed-off-by: Sebastiaan van Stijn --- cli/cobra.go | 7 ++++--- cli/command/container/prune.go | 10 ++++++---- cli/command/image/tree.go | 14 ++++++++------ cli/command/network/prune.go | 10 ++++++---- cli/command/volume/prune.go | 10 ++++++---- 5 files changed, 30 insertions(+), 21 deletions(-) diff --git a/cli/cobra.go b/cli/cobra.go index a812e02f3..4ec721f88 100644 --- a/cli/cobra.go +++ b/cli/cobra.go @@ -250,11 +250,12 @@ func commandAliases(cmd *cobra.Command) string { if cmd.HasParent() { parentPath = cmd.Parent().CommandPath() + " " } - aliases := cmd.CommandPath() + var aliases strings.Builder + aliases.WriteString(cmd.CommandPath()) for _, alias := range cmd.Aliases { - aliases += ", " + parentPath + alias + aliases.WriteString(", " + parentPath + alias) } - return aliases + return aliases.String() } func topCommands(cmd *cobra.Command) []*cobra.Command { diff --git a/cli/command/container/prune.go b/cli/command/container/prune.go index e761339a7..27214e71c 100644 --- a/cli/command/container/prune.go +++ b/cli/command/container/prune.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "strings" "github.com/docker/cli/cli" "github.com/docker/cli/cli/command" @@ -61,7 +62,7 @@ func newPruneCommand(dockerCLI command.Cli) *cobra.Command { const warning = `WARNING! This will remove all stopped containers. Are you sure you want to continue?` -func runPrune(ctx context.Context, dockerCli command.Cli, options pruneOptions) (spaceReclaimed uint64, output string, err error) { +func runPrune(ctx context.Context, dockerCli command.Cli, options pruneOptions) (spaceReclaimed uint64, output string, _ error) { pruneFilters := command.PruneFilters(dockerCli, options.filter.Value()) if !options.force { @@ -81,15 +82,16 @@ func runPrune(ctx context.Context, dockerCli command.Cli, options pruneOptions) return 0, "", err } + var out strings.Builder if len(res.Report.ContainersDeleted) > 0 { - output = "Deleted Containers:\n" + out.WriteString("Deleted Containers:\n") for _, id := range res.Report.ContainersDeleted { - output += id + "\n" + out.WriteString(id + "\n") } spaceReclaimed = res.Report.SpaceReclaimed } - return spaceReclaimed, output, nil + return spaceReclaimed, out.String(), nil } type cancelledErr struct{ error } diff --git a/cli/command/image/tree.go b/cli/command/image/tree.go index fcd2b9ccb..03e2c89cd 100644 --- a/cli/command/image/tree.go +++ b/cli/command/image/tree.go @@ -297,15 +297,15 @@ func printImageTree(outs command.Streams, view treeView) { }(), Color: &tui.ColorNone, DetailsValue: func(d *imageDetails) string { - var out string + var b strings.Builder for _, chip := range possibleChips { if chip.check(d) { - out += chip.String(isTerm) + b.WriteString(chip.String(isTerm)) } else { - out += chipPlaceholder.String(isTerm) + b.WriteString(chipPlaceholder.String(isTerm)) } } - return out + return b.String() }, }, } @@ -368,12 +368,14 @@ func adjustColumns(width uint, columns []imgColumn, images []topImage) []imgColu func generateLegend(out tui.Output, width uint) string { var legend string legend += out.Sprint(tui.InfoHeader) + var legendSb371 strings.Builder for idx, chip := range allChips { - legend += " " + out.Sprint(chip) + " " + chip.desc + legendSb371.WriteString(" " + out.Sprint(chip) + " " + chip.desc) if idx < len(allChips)-1 { - legend += " |" + legendSb371.WriteString(" |") } } + legend += legendSb371.String() r := int(width) - tui.Width(legend) if r < 0 { diff --git a/cli/command/network/prune.go b/cli/command/network/prune.go index 1e84cd495..1aa761b25 100644 --- a/cli/command/network/prune.go +++ b/cli/command/network/prune.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "strings" "github.com/docker/cli/cli" "github.com/docker/cli/cli/command" @@ -58,7 +59,7 @@ func newPruneCommand(dockerCLI command.Cli) *cobra.Command { const warning = `WARNING! This will remove all custom networks not used by at least one container. Are you sure you want to continue?` -func runPrune(ctx context.Context, dockerCli command.Cli, options pruneOptions) (output string, err error) { +func runPrune(ctx context.Context, dockerCli command.Cli, options pruneOptions) (output string, _ error) { pruneFilters := command.PruneFilters(dockerCli, options.filter.Value()) if !options.force { @@ -78,14 +79,15 @@ func runPrune(ctx context.Context, dockerCli command.Cli, options pruneOptions) return "", err } + var out strings.Builder if len(res.Report.NetworksDeleted) > 0 { - output = "Deleted Networks:\n" + out.WriteString("Deleted Networks:\n") for _, id := range res.Report.NetworksDeleted { - output += id + "\n" + out.WriteString(id + "\n") } } - return output, nil + return out.String(), nil } type cancelledErr struct{ error } diff --git a/cli/command/volume/prune.go b/cli/command/volume/prune.go index eb20b6223..6fbef2f85 100644 --- a/cli/command/volume/prune.go +++ b/cli/command/volume/prune.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "strings" "github.com/docker/cli/cli" "github.com/docker/cli/cli/command" @@ -68,7 +69,7 @@ Are you sure you want to continue?` Are you sure you want to continue?` ) -func runPrune(ctx context.Context, dockerCli command.Cli, options pruneOptions) (spaceReclaimed uint64, output string, err error) { +func runPrune(ctx context.Context, dockerCli command.Cli, options pruneOptions) (spaceReclaimed uint64, output string, _ error) { pruneFilters := command.PruneFilters(dockerCli, options.filter.Value()) warning := unusedVolumesWarning @@ -96,15 +97,16 @@ func runPrune(ctx context.Context, dockerCli command.Cli, options pruneOptions) return 0, "", err } + var out strings.Builder if len(res.Report.VolumesDeleted) > 0 { - output = "Deleted Volumes:\n" + out.WriteString("Deleted Volumes:\n") for _, id := range res.Report.VolumesDeleted { - output += id + "\n" + out.WriteString(id + "\n") } spaceReclaimed = res.Report.SpaceReclaimed } - return spaceReclaimed, output, nil + return spaceReclaimed, out.String(), nil } type invalidParamErr struct{ error }