Jelajahi Sumber

Fix windows 256 colors

*  "05" wasn't supported -> added to support "05"
*  skipping parameters not worked, because using for-range.
   -> use for;; instead of
MURAOKA Taro 10 tahun lalu
induk
melakukan
475c6ea37b
1 mengubah file dengan 3 tambahan dan 2 penghapusan
  1. 3 2
      colorable_windows.go

+ 3 - 2
colorable_windows.go

@@ -402,7 +402,8 @@ loop:
 				continue
 			}
 			token := strings.Split(cs, ";")
-			for i, ns := range token {
+			for i := 0; i < len(token); i+=1 {
+				ns := token[i]
 				if n, err = strconv.Atoi(ns); err == nil {
 					switch {
 					case n == 0 || n == 100:
@@ -427,7 +428,7 @@ loop:
 							attr |= foregroundBlue
 						}
 					case n == 38: // set foreground color.
-						if i < len(token)-2 && token[i+1] == "5" {
+						if i < len(token)-2 && (token[i+1] == "5" || token[i+1] == "05") {
 							if n256, err := strconv.Atoi(token[i+2]); err == nil {
 								if n256foreAttr == nil {
 									n256setup()