class Reline::Dumb
Constants
- RESET_COLOR
Attributes
Public Class Methods
Source
# File lib/reline/io/dumb.rb, line 8 def initialize(encoding: nil) @input = STDIN @output = STDOUT @buf = [] @pasting = false @encoding = encoding @screen_size = [24, 80] end
Public Instance Methods
Source
# File lib/reline/io/dumb.rb, line 49 def buffered_output yield end
Source
# File lib/reline/io/dumb.rb, line 76 def cursor_pos Reline::CursorPos.new(0, 0) end
Source
# File lib/reline/io/dumb.rb, line 21
def encoding
if @encoding
@encoding
elsif RUBY_PLATFORM =~ /mswin|mingw/
Encoding::UTF_8
else
@input.external_encoding || Encoding.default_external
end
rescue IOError
# STDIN.external_encoding raises IOError in Ruby <= 3.0 when STDIN is closed
Encoding.default_external
end Source
# File lib/reline/io/dumb.rb, line 72 def get_screen_size @screen_size end
Source
# File lib/reline/io/dumb.rb, line 53
def 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)
break
end
c&.ord
end Source
# File lib/reline/io/dumb.rb, line 86 def move_cursor_column(val) end
Source
# File lib/reline/io/dumb.rb, line 34 def set_default_key_bindings(_) end
Source
# File lib/reline/io/dumb.rb, line 104 def set_screen_size(rows, columns) @screen_size = [rows, columns] end
Source
# File lib/reline/io/dumb.rb, line 108 def set_winch_handler(&handler) end
Source
# File lib/reline/io/dumb.rb, line 41 def with_raw_input yield end
Source
# File lib/reline/io/dumb.rb, line 45 def write(string) @output.write(string) end
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.