blob: 2879eb50ea6d519f0d9f3f786f234793536a8bbb [file] [log] [blame]
Abhay Kumara61c5222025-11-10 07:32:50 +00001// +build !appengine,!js,windows
2
3package logrus
4
5import (
6 "io"
7 "os"
8
9 "golang.org/x/sys/windows"
10)
11
12func 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}