diff options
Diffstat (limited to 'ui/terminal/util.go')
-rw-r--r-- | ui/terminal/util.go | 9 |
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 +} |