summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/reline/ansi.rb11
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/reline/ansi.rb b/lib/reline/ansi.rb
index a3401b9c9f..41f291809e 100644
--- a/lib/reline/ansi.rb
+++ b/lib/reline/ansi.rb
@@ -1,3 +1,5 @@
+require 'io/console'
+
class Reline::ANSI
RAW_KEYSTROKE_CONFIG = {
[27, 91, 65] => :ed_prev_history, # ↑
@@ -24,14 +26,7 @@ class Reline::ANSI
unless @@buf.empty?
return @@buf.shift
end
- c = nil
- loop do
- result = select([@@input], [], [], 0.1)
- next if result.nil?
- c = @@input.read(1)
- break
- end
- c&.ord
+ @@input.getch&.ord
end
def self.ungetc(c)