github.com/abdfnx/gh-api@v0.0.0-20210414084727-f5432eec23b8/pkg/iostreams/console_windows.go (about)

     1  // +build windows
     2  
     3  package iostreams
     4  
     5  import (
     6  	"os"
     7  
     8  	"golang.org/x/sys/windows"
     9  )
    10  
    11  func (s *IOStreams) EnableVirtualTerminalProcessing() {
    12  	if !s.IsStdoutTTY() {
    13  		return
    14  	}
    15  
    16  	stdout := windows.Handle(s.originalOut.(*os.File).Fd())
    17  
    18  	var originalMode uint32
    19  	windows.GetConsoleMode(stdout, &originalMode)
    20  	windows.SetConsoleMode(stdout, originalMode|windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING)
    21  }