diff options
-rw-r--r-- | bug/label.go | 11 | ||||
-rw-r--r-- | termui/show_bug.go | 5 | ||||
-rw-r--r-- | termui/termui.go | 3 |
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 |