Fix color mapping based on fatih lib usage

pull/232/head
ѵµσɳɠ 3 years ago
parent fb6624c362
commit 9bdd56123b

@ -50,15 +50,17 @@ var BgColorschemeColorsMap = map[string]fcolor.Attribute{
"yellow": fcolor.BgYellow,
}
// See more: vendor/github.com/mattn/go-colorable/colorable_windows.go:905
// any new color for the below mapping should be compatible with this above list
var TcellColorschemeColorsMap = map[string]tcell.Color{
"black": tcell.ColorBlack,
"blue": tcell.ColorBlue,
"cyan": tcell.Color32,
"blue": tcell.ColorNavy,
"cyan": tcell.ColorTeal,
"green": tcell.ColorGreen,
"magenta": tcell.ColorFuchsia,
"red": tcell.ColorRed,
"white": tcell.ColorWhite,
"yellow": tcell.ColorYellow,
"magenta": tcell.ColorPurple,
"red": tcell.ColorMaroon,
"white": tcell.ColorSilver,
"yellow": tcell.ColorOlive,
}
// NewColorscheme ...
@ -297,24 +299,21 @@ func (c *Colorscheme) BgColor(name string) tcell.Color {
return c.tcellColor(name + "_bg")
}
// tcellColor can supply for types of color name: specific mapped name, tcell color name, hex
// Examples: black, honeydew, #000000
func (c *Colorscheme) tcellColor(name string) tcell.Color {
color := tcell.ColorDefault
v, ok := c.colors[name].(string)
if ok {
// TODO: if we already have refactor colorscheme to use tcell.Color values as a right way
// then we can just remove this mapping lookup
// and just use tcell.GetColor(v) only
color, ok = TcellColorschemeColorsMap[v]
if !ok {
color = tcell.GetColor(v)
}
return TcellColorschemeColorsMap[v]
}
color := tcell.GetColor(name)
if color != tcell.ColorDefault {
return tcell.PaletteColor(int(color) & 0xff)
return color
}
return color
code, _ := HexToAnsi(v)
return tcell.PaletteColor(int(code) & 0xff)
}
func (c *Colorscheme) ToFgAttr(v string) (fcolor.Attribute, bool) {

Loading…
Cancel
Save