summaryrefslogtreecommitdiff
path: root/lib/reline/general_io.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/reline/general_io.rb')
-rw-r--r--lib/reline/general_io.rb22
1 files changed, 10 insertions, 12 deletions
diff --git a/lib/reline/general_io.rb b/lib/reline/general_io.rb
index 9929846568..d52151ad3c 100644
--- a/lib/reline/general_io.rb
+++ b/lib/reline/general_io.rb
@@ -1,10 +1,15 @@
-require 'timeout'
require 'io/wait'
class Reline::GeneralIO
+ RESET_COLOR = '' # Do not send color reset sequence
+
def self.reset(encoding: nil)
@@pasting = false
- @@encoding = encoding
+ if encoding
+ @@encoding = encoding
+ elsif defined?(@@encoding)
+ remove_class_variable(:@@encoding)
+ end
end
def self.encoding
@@ -35,12 +40,13 @@ class Reline::GeneralIO
yield
end
- def self.getc
+ def self.getc(_timeout_second)
unless @@buf.empty?
return @@buf.shift
end
c = nil
loop do
+ Reline.core.line_editor.handle_signal
result = @@input.wait_readable(0.1)
next if result.nil?
c = @@input.read(1)
@@ -54,7 +60,7 @@ class Reline::GeneralIO
end
def self.get_screen_size
- [1, 1]
+ [24, 80]
end
def self.cursor_pos
@@ -97,14 +103,6 @@ class Reline::GeneralIO
@@pasting
end
- def self.start_pasting
- @@pasting = true
- end
-
- def self.finish_pasting
- @@pasting = false
- end
-
def self.prep
end