aboutsummaryrefslogtreecommitdiffstats
path: root/log/term/terminal_windows.go
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2017-02-20 23:39:36 +0800
committerPéter Szilágyi <peterke@gmail.com>2017-02-23 18:00:02 +0800
commitec7f81f4bc11c6f8203ec1d3055c9a09a244ff43 (patch)
tree5ec75ddab7749a9d0c47a97d6f638b52e6ebc6bb /log/term/terminal_windows.go
parent29fac7de448c85049a97cbec3dc0819122bd2cb0 (diff)
downloaddexon-ec7f81f4bc11c6f8203ec1d3055c9a09a244ff43.tar
dexon-ec7f81f4bc11c6f8203ec1d3055c9a09a244ff43.tar.gz
dexon-ec7f81f4bc11c6f8203ec1d3055c9a09a244ff43.tar.bz2
dexon-ec7f81f4bc11c6f8203ec1d3055c9a09a244ff43.tar.lz
dexon-ec7f81f4bc11c6f8203ec1d3055c9a09a244ff43.tar.xz
dexon-ec7f81f4bc11c6f8203ec1d3055c9a09a244ff43.tar.zst
dexon-ec7f81f4bc11c6f8203ec1d3055c9a09a244ff43.zip
log, vendor: vendor in log15 inline into our codebase
Diffstat (limited to 'log/term/terminal_windows.go')
-rw-r--r--log/term/terminal_windows.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/log/term/terminal_windows.go b/log/term/terminal_windows.go
new file mode 100644
index 000000000..df3c30c15
--- /dev/null
+++ b/log/term/terminal_windows.go
@@ -0,0 +1,26 @@
+// Based on ssh/terminal:
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build windows
+
+package term
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+var kernel32 = syscall.NewLazyDLL("kernel32.dll")
+
+var (
+ procGetConsoleMode = kernel32.NewProc("GetConsoleMode")
+)
+
+// IsTty returns true if the given file descriptor is a terminal.
+func IsTty(fd uintptr) bool {
+ var st uint32
+ r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0)
+ return r != 0 && e == 0
+}