github.com/olljanat/moby@v1.13.1/cli/command/formatter/custom.go (about)

     1  package formatter
     2  
     3  import (
     4  	"strings"
     5  )
     6  
     7  const (
     8  	imageHeader        = "IMAGE"
     9  	createdSinceHeader = "CREATED"
    10  	createdAtHeader    = "CREATED AT"
    11  	sizeHeader         = "SIZE"
    12  	labelsHeader       = "LABELS"
    13  	nameHeader         = "NAME"
    14  	driverHeader       = "DRIVER"
    15  	scopeHeader        = "SCOPE"
    16  )
    17  
    18  type subContext interface {
    19  	FullHeader() string
    20  	AddHeader(header string)
    21  }
    22  
    23  // HeaderContext provides the subContext interface for managing headers
    24  type HeaderContext struct {
    25  	header []string
    26  }
    27  
    28  // FullHeader returns the header as a string
    29  func (c *HeaderContext) FullHeader() string {
    30  	if c.header == nil {
    31  		return ""
    32  	}
    33  	return strings.Join(c.header, "\t")
    34  }
    35  
    36  // AddHeader adds another column to the header
    37  func (c *HeaderContext) AddHeader(header string) {
    38  	if c.header == nil {
    39  		c.header = []string{}
    40  	}
    41  	c.header = append(c.header, strings.ToUpper(header))
    42  }
    43  
    44  func stripNamePrefix(ss []string) []string {
    45  	sss := make([]string, len(ss))
    46  	for i, s := range ss {
    47  		sss[i] = s[1:]
    48  	}
    49  
    50  	return sss
    51  }