diff options
author | Abinoam P. Marques Jr <abinoam@gmail.com> | 2023-01-06 19:16:29 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-06 19:16:29 -0300 |
commit | 8e5f773e9e4180f30f850a6ec364a082b8bc8f3f (patch) | |
tree | 7a436aee021704aaacff5fb94cb304d0fe6f04ef /lib | |
parent | 7755f1f3f3b80e4c1c48446ea8234eaf954e6538 (diff) | |
parent | 75010bcf9047dec765429adaa5dbec1cfc66a0af (diff) | |
download | highline-8e5f773e9e4180f30f850a6ec364a082b8bc8f3f.tar.gz |
Merge pull request #259 from abinoam/issue_236
Handle Ctrl-C when Question#echo = false (raw_no_echo_mode)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/highline.rb | 1 | ||||
-rw-r--r-- | lib/highline/io_console_compatible.rb | 2 | ||||
-rw-r--r-- | lib/highline/terminal/io_console.rb | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/lib/highline.rb b/lib/highline.rb index 3e60cd3..47df4be 100644 --- a/lib/highline.rb +++ b/lib/highline.rb @@ -538,6 +538,7 @@ class HighLine terminal.raw_no_echo_mode_exec do loop do character = terminal.get_character + raise Interrupt if character == "\u0003" break unless character break if ["\n", "\r"].include? character diff --git a/lib/highline/io_console_compatible.rb b/lib/highline/io_console_compatible.rb index 7ff06f5..7fa388c 100644 --- a/lib/highline/io_console_compatible.rb +++ b/lib/highline/io_console_compatible.rb @@ -13,7 +13,7 @@ require "tempfile" # module IOConsoleCompatible - def getch + def getch(min:nil, time:nil, intr: nil) getc end diff --git a/lib/highline/terminal/io_console.rb b/lib/highline/terminal/io_console.rb index d28ee0d..9374f09 100644 --- a/lib/highline/terminal/io_console.rb +++ b/lib/highline/terminal/io_console.rb @@ -27,7 +27,7 @@ class HighLine # (see Terminal#get_character) def get_character - input.getch # from ruby io/console + input.getch(intr: true) # from ruby io/console rescue Errno::ENOTTY input.getc end |