diff options
Diffstat (limited to 'lib/highline/terminal/io_console.rb')
-rw-r--r-- | lib/highline/terminal/io_console.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/highline/terminal/io_console.rb b/lib/highline/terminal/io_console.rb index e9ff925..d28ee0d 100644 --- a/lib/highline/terminal/io_console.rb +++ b/lib/highline/terminal/io_console.rb @@ -1,28 +1,35 @@ -# coding: utf-8 +# frozen_string_literal: true 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 + def get_character input.getch # from ruby io/console + rescue Errno::ENOTTY + input.getc end end end |