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