summaryrefslogtreecommitdiff
path: root/ui/terminal/util.go
diff options
context:
space:
mode:
Diffstat (limited to 'ui/terminal/util.go')
-rw-r--r--ui/terminal/util.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/ui/terminal/util.go b/ui/terminal/util.go
index a85a517b9..4309809c7 100644
--- a/ui/terminal/util.go
+++ b/ui/terminal/util.go
@@ -29,6 +29,8 @@ func isTerminal(w io.Writer) bool {
ioctlGetTermios, uintptr(unsafe.Pointer(&termios)),
0, 0, 0)
return err == 0
+ } else if _, ok := w.(*fakeSmartTerminal); ok {
+ return true
}
return false
}
@@ -43,6 +45,8 @@ func termWidth(w io.Writer) (int, bool) {
syscall.TIOCGWINSZ, uintptr(unsafe.Pointer(&winsize)),
0, 0, 0)
return int(winsize.ws_column), err == 0
+ } else if f, ok := w.(*fakeSmartTerminal); ok {
+ return f.termWidth, true
}
return 0, false
}
@@ -99,3 +103,8 @@ func stripAnsiEscapes(input []byte) []byte {
return input
}
+
+type fakeSmartTerminal struct {
+ bytes.Buffer
+ termWidth int
+}