Code refactoring after #1141
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
//go:build !unix && !windows
|
||||
|
||||
package shell
|
||||
|
||||
func IsInteractive(fd uintptr) bool {
|
||||
return false
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
//go:build unix
|
||||
|
||||
package shell
|
||||
|
||||
import "golang.org/x/sys/unix"
|
||||
|
||||
func IsInteractive(fd uintptr) bool {
|
||||
_, err := unix.IoctlGetTermios(int(fd), unix.TIOCGETA)
|
||||
return err == nil
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
//go:build windows
|
||||
|
||||
package shell
|
||||
|
||||
import (
|
||||
"syscall"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
var (
|
||||
kernel32 = syscall.NewLazyDLL("kernel32.dll")
|
||||
procGetConsoleMode = kernel32.NewProc("GetConsoleMode")
|
||||
)
|
||||
|
||||
func IsInteractive(fd uintptr) bool {
|
||||
var st uint32
|
||||
r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0)
|
||||
return r != 0 && e == 0
|
||||
}
|
||||
Reference in New Issue
Block a user