Go maintainers started to unconditionally update the minimum go version for golang.org/x/ dependencies to go1.23, which means that we'll no longer be able to support any version below that when updating those dependencies; > all: upgrade go directive to at least 1.23.0 [generated] > > By now Go 1.24.0 has been released, and Go 1.22 is no longer supported > per the Go Release Policy (https://go.dev/doc/devel/release#policy). > > For golang/go#69095. This updates our minimum version to go1.23, as we won't be able to maintain compatibility with older versions because of the above. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
52 lines
1.3 KiB
Go
52 lines
1.3 KiB
Go
// FIXME(thaJeztah): remove once we are a module; the go:build directive prevents go from downgrading language version to go1.16:
|
|
//go:build go1.23
|
|
|
|
package formatter
|
|
|
|
import "strings"
|
|
|
|
// Common header constants
|
|
const (
|
|
CreatedSinceHeader = "CREATED"
|
|
CreatedAtHeader = "CREATED AT"
|
|
SizeHeader = "SIZE"
|
|
LabelsHeader = "LABELS"
|
|
NameHeader = "NAME"
|
|
DescriptionHeader = "DESCRIPTION"
|
|
DriverHeader = "DRIVER"
|
|
ScopeHeader = "SCOPE"
|
|
StateHeader = "STATE"
|
|
StatusHeader = "STATUS"
|
|
PortsHeader = "PORTS"
|
|
ImageHeader = "IMAGE"
|
|
ErrorHeader = "ERROR"
|
|
ContainerIDHeader = "CONTAINER ID"
|
|
)
|
|
|
|
// SubContext defines what Context implementation should provide
|
|
type SubContext interface {
|
|
FullHeader() any
|
|
}
|
|
|
|
// SubHeaderContext is a map destined to formatter header (table format)
|
|
type SubHeaderContext map[string]string
|
|
|
|
// Label returns the header label for the specified string
|
|
func (SubHeaderContext) Label(name string) string {
|
|
n := strings.Split(name, ".")
|
|
r := strings.NewReplacer("-", " ", "_", " ")
|
|
h := r.Replace(n[len(n)-1])
|
|
|
|
return h
|
|
}
|
|
|
|
// HeaderContext provides the subContext interface for managing headers
|
|
type HeaderContext struct {
|
|
Header any
|
|
}
|
|
|
|
// FullHeader returns the header as an interface
|
|
func (c *HeaderContext) FullHeader() any {
|
|
return c.Header
|
|
}
|