diff --git a/cmd/minikube/cmd/config/addons_list.go b/cmd/minikube/cmd/config/addons_list.go index 8988ab02b6..c3c5e78318 100644 --- a/cmd/minikube/cmd/config/addons_list.go +++ b/cmd/minikube/cmd/config/addons_list.go @@ -30,6 +30,7 @@ import ( "github.com/fatih/color" "k8s.io/klog/v2" "k8s.io/minikube/pkg/minikube/assets" + pkgcolor "k8s.io/minikube/pkg/minikube/color" "k8s.io/minikube/pkg/minikube/config" "k8s.io/minikube/pkg/minikube/exit" "k8s.io/minikube/pkg/minikube/mustload" @@ -94,28 +95,28 @@ var stringFromStatus = func(addonStatus bool) string { var printAddonsList = func(cc *config.ClusterConfig, printDocs bool) { addonNames := slices.Sorted(maps.Keys(assets.Addons)) table := tablewriter.NewWriter(os.Stdout) - table.Options(tablewriter.WithHeaderAutoFormat(tw.On)) + table.Options( + tablewriter.WithHeaderAutoFormat(tw.On), + ) // Table header - header := []string{"Addon Name", "Maintainer"} + theader := []string{"Addon Name", "Maintainer"} if cc != nil { - header = []string{"Addon Name", "Enabled", "Maintainer"} + theader = []string{"Addon Name", "Enabled", "Maintainer"} } if printDocs { - header = append(header, "Docs") + theader = append(theader, "Docs") } - table.Header(header) + table.Header(theader) var rows [][]string for _, addonName := range addonNames { addonBundle := assets.Addons[addonName] - maintainer := addonBundle.Maintainer if maintainer == "" { maintainer = "3rd party (unknown)" } - docs := addonBundle.Docs if docs == "" { docs = "n/a" @@ -136,9 +137,9 @@ var printAddonsList = func(cc *config.ClusterConfig, printDocs bool) { // Step 2: apply coloring switch { case enabled: - ColorRow(row, color.GreenString) + pkgcolor.ColorRow(row, color.GreenString) default: - ColorRow(row, color.WhiteString) + pkgcolor.ColorRow(row, color.WhiteString) } } @@ -162,26 +163,6 @@ var printAddonsList = func(cc *config.ClusterConfig, printDocs bool) { } } -// ---------------- -// Helpers -// ---------------- - -// colorFunc allows generic coloring -type colorFunc func(string, ...interface{}) string - -func isEmoji(s string) bool { - return strings.Contains(s, "✅") -} - -func ColorRow(row []string, colored colorFunc) { - for i := range row { - if row[i] == "" || isEmoji(row[i]) { - continue - } - row[i] = colored("%s", row[i]) - } -} - var printAddonsJSON = func(cc *config.ClusterConfig) { addonNames := slices.Sorted(maps.Keys(assets.Addons)) addonsMap := map[string]map[string]interface{}{} diff --git a/cmd/minikube/cmd/config/profile_list.go b/cmd/minikube/cmd/config/profile_list.go index 6ff03386e9..2e7493233b 100644 --- a/cmd/minikube/cmd/config/profile_list.go +++ b/cmd/minikube/cmd/config/profile_list.go @@ -32,6 +32,7 @@ import ( "k8s.io/minikube/pkg/minikube/out" "k8s.io/minikube/pkg/minikube/reason" "k8s.io/minikube/pkg/minikube/style" + pkgcolor "k8s.io/minikube/pkg/minikube/color" "github.com/docker/machine/libmachine" "github.com/fatih/color" @@ -191,11 +192,11 @@ func profilesToTableData(profiles []*config.Profile) [][]string { // Apply coloring based on status switch p.Status { case "OK": - ColorRow(row, color.GreenString) + pkgcolor.ColorRow(row, color.GreenString) case "Stopped", "Paused": - ColorRow(row, color.YellowString) + pkgcolor.ColorRow(row, color.YellowString) default: - ColorRow(row, color.WhiteString) + pkgcolor.ColorRow(row, color.WhiteString) } data = append(data, row) diff --git a/pkg/minikube/color/color.go b/pkg/minikube/color/color.go new file mode 100644 index 0000000000..79c7b035b2 --- /dev/null +++ b/pkg/minikube/color/color.go @@ -0,0 +1,20 @@ +package color + +// colorFunc allows generic coloring +type colorFunc func(string, ...interface{}) string + +func isEmoji(s string) bool { + if s == "✅" { + return true + } + return false +} + +func ColorRow(row []string, colored colorFunc) { + for i := range row { + if row[i] == "" || isEmoji(row[i]) { + continue + } + row[i] = colored("%s", row[i]) + } +} \ No newline at end of file