...
1
2
3 package logrus
4
5 import (
6 "io"
7 "os"
8
9 "golang.org/x/sys/windows"
10 )
11
12 func checkIfTerminal(w io.Writer) bool {
13 switch v := w.(type) {
14 case *os.File:
15 handle := windows.Handle(v.Fd())
16 var mode uint32
17 if err := windows.GetConsoleMode(handle, &mode); err != nil {
18 return false
19 }
20 mode |= windows.ENABLE_VIRTUAL_TERMINAL_PROCESSING
21 if err := windows.SetConsoleMode(handle, mode); err != nil {
22 return false
23 }
24 return true
25 }
26 return false
27 }
28
View as plain text