class Reline::Dumb
常量
- RESET_COLOR
属性
公共类方法
源代码
# 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
公共实例方法
源代码
# File lib/reline/io/dumb.rb, line 49 def buffered_output yield end
源代码
# File lib/reline/io/dumb.rb, line 76 def cursor_pos Reline::CursorPos.new(0, 0) end
源代码
# 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
源代码
# 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
源代码
# File lib/reline/io/dumb.rb, line 34 def set_default_key_bindings(_) end
源代码
# File lib/reline/io/dumb.rb, line 104 def set_screen_size(rows, columns) @screen_size = [rows, columns] end
源代码
# File lib/reline/io/dumb.rb, line 108 def set_winch_handler(&handler) end
源代码
# File lib/reline/io/dumb.rb, line 45 def write(string) @output.write(string) end