custom.go 866 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package formatter
  2. import (
  3. "strings"
  4. )
  5. const (
  6. tableKey = "table"
  7. imageHeader = "IMAGE"
  8. createdSinceHeader = "CREATED"
  9. createdAtHeader = "CREATED AT"
  10. sizeHeader = "SIZE"
  11. labelsHeader = "LABELS"
  12. nameHeader = "NAME"
  13. driverHeader = "DRIVER"
  14. scopeHeader = "SCOPE"
  15. )
  16. type subContext interface {
  17. fullHeader() string
  18. addHeader(header string)
  19. }
  20. type baseSubContext struct {
  21. header []string
  22. }
  23. func (c *baseSubContext) fullHeader() string {
  24. if c.header == nil {
  25. return ""
  26. }
  27. return strings.Join(c.header, "\t")
  28. }
  29. func (c *baseSubContext) addHeader(header string) {
  30. if c.header == nil {
  31. c.header = []string{}
  32. }
  33. c.header = append(c.header, strings.ToUpper(header))
  34. }
  35. func stripNamePrefix(ss []string) []string {
  36. sss := make([]string, len(ss))
  37. for i, s := range ss {
  38. sss[i] = s[1:]
  39. }
  40. return sss
  41. }