1// +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}
28