tty: handle non-tty stdin.
When stdin is not a tty then the message `stty: stdin isn't a terminal` will be produced. Silence this message and fall back to `tput` when it fails and default to 80 if we get no results at all. Follow-up from #2714.
This commit is contained in:
parent
b2995be445
commit
2cf2c020ba
@ -6,7 +6,10 @@ module Tty
|
|||||||
end
|
end
|
||||||
|
|
||||||
def width
|
def width
|
||||||
(`/bin/stty size`.split[1] || 80).to_i
|
width = `/bin/stty size 2>/dev/null`.split[1]
|
||||||
|
width ||= `/usr/bin/tput cols 2>/dev/null`.split[0]
|
||||||
|
width ||= 80
|
||||||
|
width.to_i
|
||||||
end
|
end
|
||||||
|
|
||||||
def truncate(string)
|
def truncate(string)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user