Restore ANSI support to non-TUI Glow on Windows

This commit is contained in:
Christian Rocha 2020-10-12 23:57:08 -04:00
parent 5f9c5b708d
commit 8ed7bb7717
No known key found for this signature in database
GPG key ID: D6CC7A16E5878018

23
console_windows.go Normal file
View file

@ -0,0 +1,23 @@
// +build windows
package main
import (
"os"
"golang.org/x/sys/windows"
)
// enableAnsiColors enables support for ANSI color sequences in Windows
// default console. Note that this only works with Windows 10.
func enableAnsiColors() {
stdout := windows.Handle(os.Stdout.Fd())
var originalMode uint32
windows.GetConsoleMode(stdout, &originalMode)
windows.SetConsoleMode(stdout, originalMode|windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING)
}
func init() {
enableAnsiColors()
}