Skip to content

Commit 0de04f1

Browse files
authored
Merge pull request #1088 from tklauser/simplify-windows
Simplify checkIfTerminal for Windows
2 parents 60c74ad + 8665791 commit 0de04f1

File tree

4 files changed

+12
-24
lines changed

4 files changed

+12
-24
lines changed

go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ module github.com/sirupsen/logrus
22

33
require (
44
github.com/davecgh/go-spew v1.1.1 // indirect
5-
github.com/konsorten/go-windows-terminal-sequences v1.0.3
65
github.com/pmezard/go-difflib v1.0.0 // indirect
76
github.com/stretchr/testify v1.2.2
87
golang.org/x/sys v0.0.0-20190422165155-953cdadca894

go.sum

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
22
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
3-
github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
4-
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
5-
github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8=
6-
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
73
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
84
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
95
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=

terminal_check_windows.go

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,23 @@ package logrus
55
import (
66
"io"
77
"os"
8-
"syscall"
98

10-
sequences "github.com/konsorten/go-windows-terminal-sequences"
9+
"golang.org/x/sys/windows"
1110
)
1211

13-
func initTerminal(w io.Writer) {
14-
switch v := w.(type) {
15-
case *os.File:
16-
sequences.EnableVirtualTerminalProcessing(syscall.Handle(v.Fd()), true)
17-
}
18-
}
19-
2012
func checkIfTerminal(w io.Writer) bool {
21-
var ret bool
2213
switch v := w.(type) {
2314
case *os.File:
15+
handle := windows.Handle(v.Fd())
2416
var mode uint32
25-
err := syscall.GetConsoleMode(syscall.Handle(v.Fd()), &mode)
26-
ret = (err == nil)
27-
default:
28-
ret = false
29-
}
30-
if ret {
31-
initTerminal(w)
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
3225
}
33-
return ret
26+
return false
3427
}

travis/install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@ fi
1818

1919
if [[ "$GO111MODULE" == "off" ]]; then
2020
# Should contain all regular (not indirect) modules from go.mod
21-
go get github.com/stretchr/testify golang.org/x/sys/unix github.com/konsorten/go-windows-terminal-sequences
21+
go get github.com/stretchr/testify golang.org/x/sys/unix golang.org/x/sys/windows
2222
fi

0 commit comments

Comments
 (0)