git-bug/termui/help_bar.go
Zdenek Crha 6bf64841d3 Fix help bar readability in terminal with bright background
Set both background and foreground color when displaying help bar to
avoid sitation where default foreground color used by terminal is hard
to read on blue background (like cyan on blue or black on blue).

Apply colors to whole generated help bar to avoid 'stripes' of different
background color where whitespace is used between help items.
2020-09-27 09:22:34 +02:00

31 lines
579 B
Go

package termui
import (
"fmt"
"strings"
text "github.com/MichaelMure/go-term-text"
"github.com/MichaelMure/git-bug/util/colors"
)
type helpBar []struct {
keys string
text string
}
func (hb helpBar) Render(maxX int) string {
var builder strings.Builder
for _, entry := range hb {
builder.WriteString(colors.White(colors.BlueBg(fmt.Sprintf("[%s] %s", entry.keys, entry.text))))
builder.WriteByte(' ')
}
l := text.Len(builder.String())
if l < maxX {
builder.WriteString(colors.White(colors.BlueBg(strings.Repeat(" ", maxX-l))))
}
return builder.String()
}