github.com/sld880311/docker@v0.0.0-20200524143708-d5593973a475/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 }