Skip to content

Commit

Permalink
list/tree: Hide Used column if no truthy value
Browse files Browse the repository at this point in the history
Don't show the `Used` column in the image tree view when no image is
actually used and the column would be empty.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
  • Loading branch information
vvoland committed Aug 19, 2024
1 parent 0be9e2f commit 54a4ab1
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions cli/command/image/tree.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package image
import (
"context"
"fmt"
"slices"
"sort"
"strings"
"unicode/utf8"
Expand All @@ -25,6 +26,9 @@ type treeOptions struct {
type treeView struct {
images []topImage

// showUsed indicates whether the "Used" column should be shown.
showUsed bool

// imageSpacing indicates whether there should be extra spacing between images.
imageSpacing bool
}
Expand Down Expand Up @@ -71,6 +75,9 @@ func runTree(ctx context.Context, dockerCLI command.Cli, opts treeOptions) error
if sub.Details.Used {
// Mark top-level parent image as used if any of its subimages are used.
details.Used = true

// Show the Used column only if there will be at least one non-zero value.
view.showUsed = true
}

totalContent += im.Size.Content
Expand Down Expand Up @@ -192,6 +199,12 @@ func printImageTree(dockerCLI command.Cli, view treeView) error {
},
}

if !view.showUsed {
columns = slices.DeleteFunc(columns, func(c imgColumn) bool {
return c.Title == "Used"
})
}

nameWidth := int(width)
for idx, h := range columns {
if h.Width == 0 {
Expand Down

0 comments on commit 54a4ab1

Please sign in to comment.