summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2021-08-10 12:05:40 +0300
committerPaul Buetow <paul@buetow.org>2021-08-10 12:05:40 +0300
commitf3e08046badcbc852a6875b5553ee0a648021552 (patch)
treefad12e3a3062d3a1f30b910e40a3dde02d87168d
parent03ec9f8fc1b30d0efb60584c90a027ff5816d153 (diff)
can compile with new color codes
-rw-r--r--internal/color/color.go4
-rw-r--r--internal/config/client.go108
-rw-r--r--internal/version/version.go21
3 files changed, 104 insertions, 29 deletions
diff --git a/internal/color/color.go b/internal/color/color.go
index 965675f..f444294 100644
--- a/internal/color/color.go
+++ b/internal/color/color.go
@@ -39,6 +39,7 @@ const (
BgWhite BgColor = escape + "[47m"
BgDefault BgColor = escape + "[49m"
+ AttrNone Attribute = ""
AttrReset Attribute = escape + "[0m"
AttrBold Attribute = escape + "[1m"
AttrDim Attribute = escape + "[2m"
@@ -61,6 +62,9 @@ func Paint(text string, fg FgColor, bg BgColor) string {
// PaintWithAttr paints a given text in a given foreground/background/attribute combination
func PaintWithAttr(text string, fg FgColor, bg BgColor, attr Attribute) string {
+ if attr == AttrNone {
+ return Paint(text, fg, bg)
+ }
return fmt.Sprintf("%s%s%s%s%s%s%s", fg, bg, attr, text, AttrReset, BgDefault, FgDefault)
}
diff --git a/internal/config/client.go b/internal/config/client.go
index d6d106f..84ad037 100644
--- a/internal/config/client.go
+++ b/internal/config/client.go
@@ -4,18 +4,49 @@ import "github.com/mimecast/dtail/internal/color"
// ClientColorConfig allows to override the default terminal color color.
type termColors struct {
- RemoteTextFg color.Color
- RemoteStatsOkBg color.Color
- RemoteStatsWarnBg color.Color
- RemoteTraceBg color.Color
- RemoteDebugBg color.Color
- RemoteWarnBg color.Color
- RemoteErrorBg color.Color
- RemoteFatalBg color.Color
- RemoteFatalAttr color.Attribute
- ClientStatsBg color.Color
- ClientWarnFg color.Color
- ClientErrorFg color.Color
+ ClientErrorAttr color.Attribute
+ ClientErrorBg color.BgColor
+ ClientErrorFg color.FgColor
+
+ ClientStatsAttr color.Attribute
+ ClientStatsBg color.BgColor
+ ClientStatsFg color.FgColor
+
+ ClientWarnAttr color.Attribute
+ ClientWarnBg color.BgColor
+ ClientWarnFg color.FgColor
+
+ RemoteDebugAttr color.Attribute
+ RemoteDebugBg color.BgColor
+ RemoteDebugFg color.FgColor
+
+ RemoteErrorAttr color.Attribute
+ RemoteErrorBg color.BgColor
+ RemoteErrorFg color.FgColor
+
+ RemoteFatalAttr color.Attribute
+ RemoteFatalBg color.BgColor
+ RemoteFatalFg color.FgColor
+
+ RemoteStatsOkAttr color.Attribute
+ RemoteStatsOkBg color.BgColor
+ RemoteStatsOkFg color.FgColor
+
+ RemoteStatsWarnAttr color.Attribute
+ RemoteStatsWarnBg color.BgColor
+ RemoteStatsWarnFg color.FgColor
+
+ RemoteTextAttr color.Attribute
+ RemoteTextBg color.BgColor
+ RemoteTextFg color.FgColor
+
+ RemoteTraceAttr color.Attribute
+ RemoteTraceBg color.BgColor
+ RemoteTraceFg color.FgColor
+
+ RemoteWarnAttr color.Attribute
+ RemoteWarnBg color.BgColor
+ RemoteWarnFg color.FgColor
}
// ClientConfig represents a DTail client configuration (empty as of now as there
@@ -30,18 +61,49 @@ func newDefaultClientConfig() *ClientConfig {
return &ClientConfig{
TermColorsEnabled: true,
TermColors: termColors{
- RemoteTextFg: color.LightGray,
+ ClientErrorAttr: color.AttrBold,
+ ClientErrorBg: color.BgBlack,
+ ClientErrorFg: color.FgRed,
+
+ ClientStatsAttr: color.AttrDim,
+ ClientStatsBg: color.BgBlue,
+ ClientStatsFg: color.FgWhite,
+
+ ClientWarnAttr: color.AttrNone,
+ ClientWarnBg: color.BgBlack,
+ ClientWarnFg: color.FgMagenta,
+
+ RemoteDebugAttr: color.AttrNone,
+ RemoteDebugBg: color.BgGreen,
+ RemoteDebugFg: color.FgWhite,
+
+ RemoteErrorAttr: color.AttrBold,
+ RemoteErrorBg: color.BgRed,
+ RemoteErrorFg: color.FgWhite,
+
+ RemoteFatalAttr: color.AttrBlink,
+ RemoteFatalBg: color.BgRed,
+ RemoteFatalFg: color.FgBlue,
+
+ RemoteStatsOkAttr: color.AttrNone,
RemoteStatsOkBg: color.BgGreen,
- RemoteStatsWarnBg: color.BgRed,
- RemoteTraceBg: color.BgYellow,
- RemoteDebugBg: color.BgYellow,
- RemoteWarnBg: color.BgYellow,
- RemoteErrorBg: color.BgRed,
- RemoteFatalBg: color.BgRed,
- RemoteFatalAttr: color.Bold,
- ClientStatsBg: color.BgBlue,
- ClientWarnFg: color.Purple,
- ClientErrorFg: color.BgRed,
+ RemoteStatsOkFg: color.FgWhite,
+
+ RemoteStatsWarnAttr: color.AttrNone,
+ RemoteStatsWarnBg: color.BgRed,
+ RemoteStatsWarnFg: color.FgWhite,
+
+ RemoteTextAttr: color.AttrNone,
+ RemoteTextBg: color.BgBlack,
+ RemoteTextFg: color.FgWhite,
+
+ RemoteTraceAttr: color.AttrBold,
+ RemoteTraceBg: color.BgGreen,
+ RemoteTraceFg: color.FgWhite,
+
+ RemoteWarnAttr: color.AttrBold,
+ RemoteWarnBg: color.BgYellow,
+ RemoteWarnFg: color.FgWhite,
},
}
}
diff --git a/internal/version/version.go b/internal/version/version.go
index 7c206b4..a513fdc 100644
--- a/internal/version/version.go
+++ b/internal/version/version.go
@@ -13,10 +13,10 @@ const (
Name string = "DTail"
// Version of DTail.
Version string = "3.2.0"
- // Additional information for DTail
- Additional string = ""
// ProtocolCompat -ibility version.
ProtocolCompat string = "3"
+ // Additional information for DTail
+ Additional string = "Have a lot of fun!"
)
// String representation of the DTail version.
@@ -29,11 +29,20 @@ func PaintedString() string {
if !config.Client.TermColorsEnabled {
return String()
}
- name := color.Paint(color.Yellow, Name)
- version := color.Paint(color.Blue, Version)
- descr := color.Paint(color.Green, Additional)
- return fmt.Sprintf("%s %v Protocol %s %s", name, version, ProtocolCompat, descr)
+ name := color.PaintWithAttr(Name,
+ color.FgYellow, color.BgBlue, color.AttrBold)
+
+ version := color.PaintWithAttr(fmt.Sprintf(" %s ", Version),
+ color.FgBlue, color.BgYellow, color.AttrBold)
+
+ protocol := color.Paint(fmt.Sprintf(" Protocol %s ", ProtocolCompat),
+ color.FgBlack, color.BgGreen)
+
+ additional := color.PaintWithAttr(fmt.Sprintf(" %s ", Additional),
+ color.FgWhite, color.BgMagenta, color.AttrBlink)
+
+ return fmt.Sprintf("%s%v%s%s", name, version, protocol, additional)
}
// PrintAndExit prints the program version and exists.