Skip to content

Commit 74bb513

Browse files
committed
🐛 fix: fix convert basic color to rgb color fail
1 parent 7da3fe3 commit 74bb513

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

convert.go

+17-7
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ var (
5252

5353
// ---------- basic(16) <=> RGB color convert ----------
5454
// refer from Hyper app
55+
// Tip: only keep foreground color, background color need convert to foreground color for convert to RGB
5556
basic2hexMap = map[uint8]string{
5657
30: "000000", // black
5758
31: "c51e14", // red
@@ -61,7 +62,7 @@ var (
6162
35: "c839c5", // magenta
6263
36: "20c5c6", // cyan
6364
37: "c7c7c7", // white
64-
// - don't add bg color
65+
// - don't add bg color, convert to fg color for convert to RGB
6566
// 40: "000000", // black
6667
// 41: "c51e14", // red
6768
// 42: "1dc121", // green
@@ -428,10 +429,11 @@ func HexToRGB(hex string) []int { return HexToRgb(hex) }
428429
// HexToRgb convert hex color string to RGB numbers
429430
//
430431
// Usage:
431-
// rgb := HexToRgb("ccc") // rgb: [204 204 204]
432-
// rgb := HexToRgb("aabbcc") // rgb: [170 187 204]
433-
// rgb := HexToRgb("#aabbcc") // rgb: [170 187 204]
434-
// rgb := HexToRgb("0xad99c0") // rgb: [170 187 204]
432+
//
433+
// rgb := HexToRgb("ccc") // rgb: [204 204 204]
434+
// rgb := HexToRgb("aabbcc") // rgb: [170 187 204]
435+
// rgb := HexToRgb("#aabbcc") // rgb: [170 187 204]
436+
// rgb := HexToRgb("0xad99c0") // rgb: [170 187 204]
435437
func HexToRgb(hex string) (rgb []int) {
436438
hex = strings.TrimSpace(hex)
437439
if hex == "" {
@@ -474,6 +476,7 @@ func Rgb2hex(rgb []int) string { return RgbToHex(rgb) }
474476
// RgbToHex convert RGB-code to hex-code
475477
//
476478
// Usage:
479+
//
477480
// hex := RgbToHex([]int{170, 187, 204}) // hex: "aabbcc"
478481
func RgbToHex(rgb []int) string {
479482
hexNodes := make([]string, len(rgb))
@@ -488,10 +491,15 @@ func RgbToHex(rgb []int) string {
488491
* 4bit(16) color <=> RGB/True color
489492
*************************************************************/
490493

494+
// BasicToHex convert basic color to hex string.
495+
func BasicToHex(val uint8) string {
496+
val = Bg2Fg(val)
497+
return basic2hexMap[val]
498+
}
499+
491500
// Basic2hex convert basic color to hex string.
492501
func Basic2hex(val uint8) string {
493-
val = Fg2Bg(val)
494-
return basic2hexMap[val]
502+
return BasicToHex(val)
495503
}
496504

497505
// Hex2basic convert hex string to basic color code.
@@ -663,6 +671,7 @@ func C256ToRgbV1(val uint8) (rgb []uint8) {
663671
// returns r, g, and b in the set [0, 255].
664672
//
665673
// Usage:
674+
//
666675
// HslIntToRgb(0, 100, 50) // red
667676
// HslIntToRgb(120, 100, 50) // lime
668677
// HslIntToRgb(120, 100, 25) // dark green
@@ -677,6 +686,7 @@ func HslIntToRgb(h, s, l int) (rgb []uint8) {
677686
// returns r, g, and b in the set [0, 255].
678687
//
679688
// Usage:
689+
//
680690
// rgbVals := HslToRgb(0, 1, 0.5) // red
681691
func HslToRgb(h, s, l float64) (rgb []uint8) {
682692
var r, g, b float64

0 commit comments

Comments
 (0)