I have a simple go code that added chars to logger for adding color to logs.
package main
import "fmt"
var (
    Info = Teal
    Warn = Yellow
    Fata = Red
)
var (
    Black   = Color("\033[1;30m%s\033[0m")
    Red     = Color("\033[1;31m%s\033[0m")
    Green   = Color("\033[1;32m%s\033[0m")
    Yellow  = Color("\033[1;33m%s\033[0m")
    Purple  = Color("\033[1;34m%s\033[0m")
    Magenta = Color("\033[1;35m%s\033[0m")
    Teal    = Color("\033[1;36m%s\033[0m")
    White   = Color("\033[1;37m%s\033[0m")
)
func Color(colorString string) func(...interface{}) string {
    sprint := func(args ...interface{}) string {
        return fmt.Sprintf(colorString,
            fmt.Sprint(args...))
    }
    return sprint
}
func main() {
    fmt.Println(Magenta("hello, world!"))
}
when I run it in the PowerShell that run in my vscode, I see the colors as expected:
 when I run it in the PowerShell of windows, I don't see that the colors are parsed well:
when I run it in the PowerShell of windows, I don't see that the colors are parsed well:

both of the PowerShells above have the same version.

any idea why?
 
    