在 Windows 上输出转义序列

Ouput escaped sequences on Windows

golang 有类似 colorama (python) 的东西吗?不仅仅是为了输出颜色,而是能够只写 print("3[1;32mMy text in green3[0m") 并获得彩色文本?

我从一个输出转义序列的程序(比如 git log --color=always)中输出一个字符串,我也希望能够用颜色输出它。

$ git log --color=always | go run prog.go

如何使转义序列起作用? (我得到了这些应该设置颜色的东西 ?[1;32)。

有没有比解析字符串并使用 color 更好的解决方案?

https://github.com/shiena/ansicolor 做了我需要的。近乎完美。

writer := ansicolor.NewAnsiColorWriter(os.Stdout)
fmt.Fprint(writer, "3[1;32mMy text in green3[0m")
# that works!