diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/highline/terminal/io_console.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/highline/terminal/io_console.rb b/lib/highline/terminal/io_console.rb index e9ff925..0d75079 100644 --- a/lib/highline/terminal/io_console.rb +++ b/lib/highline/terminal/io_console.rb @@ -4,25 +4,32 @@ class HighLine class Terminal # io/console option for HighLine::Terminal. # It's the most used terminal. + # TODO: We're rescuing when not a terminal. + # We should make a more robust implementation. class IOConsole < Terminal # (see Terminal#terminal_size) def terminal_size output.winsize.reverse + rescue Errno::ENOTTY end # (see Terminal#raw_no_echo_mode) def raw_no_echo_mode input.echo = false + rescue Errno::ENOTTY end # (see Terminal#restore_mode) def restore_mode input.echo = true + rescue Errno::ENOTTY end # (see Terminal#get_character) def get_character # rubocop:disable Naming/AccessorMethodName input.getch # from ruby io/console + rescue Errno::ENOTTY + input.getc end end end |