aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorludovicm67 <ludovicmuller1@gmail.com>2019-08-28 20:32:35 +0200
committerludovicm67 <ludovicmuller1@gmail.com>2019-10-15 20:42:27 +0200
commitd0d9ea56b9fcb8f2638269b1a6856ef14db7d694 (patch)
treeef23378e16f1d4a7fbda9b1ad3c95c8b9d95dd2f
parent95b9bc94ff30ffe907e87f50bfcc9ea8b5680c61 (diff)
downloadgit-bug-d0d9ea56b9fcb8f2638269b1a6856ef14db7d694.tar.gz
termui: add colors for labels
-rw-r--r--bug/label.go11
-rw-r--r--termui/show_bug.go5
-rw-r--r--termui/termui.go3
3 files changed, 16 insertions, 3 deletions
diff --git a/bug/label.go b/bug/label.go
index 0d6d4142..c224f037 100644
--- a/bug/label.go
+++ b/bug/label.go
@@ -50,6 +50,17 @@ func (l Label) RGBA() color.RGBA {
return colors[id]
}
+func (l Label) Term256() int {
+ rgba := l.RGBA()
+ red := int(rgba.R) * 6 / 256
+ green := int(rgba.G) * 6 / 256
+ blue := int(rgba.B) * 6 / 256
+
+ color256 := red*36 + green*6 + blue + 16
+
+ return color256
+}
+
func (l Label) Validate() error {
str := string(l)
diff --git a/termui/show_bug.go b/termui/show_bug.go
index 228b85b0..82d4160e 100644
--- a/termui/show_bug.go
+++ b/termui/show_bug.go
@@ -429,13 +429,14 @@ func (sb *showBug) renderSidebar(g *gocui.Gui, sideView *gocui.View) error {
labelStr := make([]string, len(snap.Labels))
for i, l := range snap.Labels {
- labelStr[i] = string(l)
+ color256 := l.Term256()
+ labelStr[i] = fmt.Sprintf("\x1b[38;5;%dm◼\x1b[0m %s", color256, string(l))
}
labels := strings.Join(labelStr, "\n")
labels, lines := text.WrapLeftPadded(labels, maxX, 2)
- content := fmt.Sprintf("%s\n\n%s", colors.Bold("Labels"), labels)
+ content := fmt.Sprintf("%s\n\n%s", colors.Bold(" Labels"), labels)
v, err := sb.createSideView(g, "sideLabels", x0, y0, maxX, lines+2)
if err != nil {
diff --git a/termui/termui.go b/termui/termui.go
index 5d3bb0c1..8aece020 100644
--- a/termui/termui.go
+++ b/termui/termui.go
@@ -66,11 +66,12 @@ func Run(cache *cache.RepoCache) error {
return err
}
+
return nil
}
func initGui(action func(ui *termUI) error) {
- g, err := gocui.NewGui(gocui.OutputNormal)
+ g, err := gocui.NewGui(gocui.Output256)
if err != nil {
ui.gError <- err