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
|
||||
|
||||
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
|
||||
|
||||
def truncate(string)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user