]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/mitchellh/cli/ui_colored.go
Upgrade to 0.12
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / mitchellh / cli / ui_colored.go
index e3d5131d16b40f1769fdbf9e0925d0c78fa09336..b0ec44840e2d378a1901765f3160a9a0803c8670 100644 (file)
@@ -1,7 +1,11 @@
 package cli
 
 import (
-       "fmt"
+       "github.com/fatih/color"
+)
+
+const (
+       noColor = -1
 )
 
 // UiColor is a posix shell color code to use.
@@ -12,13 +16,13 @@ type UiColor struct {
 
 // A list of colors that are useful. These are all non-bolded by default.
 var (
-       UiColorNone    UiColor = UiColor{-1, false}
-       UiColorRed             = UiColor{31, false}
-       UiColorGreen           = UiColor{32, false}
-       UiColorYellow          = UiColor{33, false}
-       UiColorBlue            = UiColor{34, false}
-       UiColorMagenta         = UiColor{35, false}
-       UiColorCyan            = UiColor{36, false}
+       UiColorNone    UiColor = UiColor{noColor, false}
+       UiColorRed             = UiColor{int(color.FgHiRed), false}
+       UiColorGreen           = UiColor{int(color.FgHiGreen), false}
+       UiColorYellow          = UiColor{int(color.FgHiYellow), false}
+       UiColorBlue            = UiColor{int(color.FgHiBlue), false}
+       UiColorMagenta         = UiColor{int(color.FgHiMagenta), false}
+       UiColorCyan            = UiColor{int(color.FgHiCyan), false}
 )
 
 // ColoredUi is a Ui implementation that colors its output according
@@ -55,15 +59,15 @@ func (u *ColoredUi) Warn(message string) {
        u.Ui.Warn(u.colorize(message, u.WarnColor))
 }
 
-func (u *ColoredUi) colorize(message string, color UiColor) string {
-       if color.Code == -1 {
+func (u *ColoredUi) colorize(message string, uc UiColor) string {
+       if uc.Code == noColor {
                return message
        }
 
-       attr := 0
-       if color.Bold {
-               attr = 1
+       attr := []color.Attribute{color.Attribute(uc.Code)}
+       if uc.Bold {
+               attr = append(attr, color.Bold)
        }
 
-       return fmt.Sprintf("\033[%d;%dm%s\033[0m", attr, color.Code, message)
+       return color.New(attr...).SprintFunc()(message)
 }