Class: Reline::IO
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Subclasses:
|
|
Inherits: | Object |
Defined in: | lib/reline/io.rb |
Constant Summary
-
RESET_COLOR =
# File 'lib/reline/io.rb', line 4"\e[0m"
Class Method Summary
Instance Attribute Summary
- #dumb? ⇒ Boolean readonly
- #win? ⇒ Boolean readonly
Instance Method Summary
-
#read_single_char(keyseq_timeout)
Read a single encoding valid character from the input.
- #reset_color_sequence
Class Method Details
.decide_io_gate
[ GitHub ]# File 'lib/reline/io.rb', line 6
def self.decide_io_gate if ENV['TERM'] == 'dumb' Reline::Dumb.new else require 'reline/io/ansi' case RbConfig::CONFIG['host_os'] when /mswin|msys|mingw|cygwin|bccwin|wince|emc/ require 'reline/io/windows' io = Reline::Windows.new if io.msys_tty? Reline::ANSI.new else io end else Reline::ANSI.new end end end
Instance Attribute Details
#dumb? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/reline/io.rb', line 27
def dumb? false end
#win? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'lib/reline/io.rb', line 31
def win? false end
Instance Method Details
#read_single_char(keyseq_timeout)
Read a single encoding valid character from the input.
# File 'lib/reline/io.rb', line 40
def read_single_char(keyseq_timeout) buffer = String.new(encoding: Encoding::ASCII_8BIT) loop do timeout = buffer.empty? ? Float::INFINITY : keyseq_timeout c = getc(timeout) return unless c buffer << c encoded = buffer.dup.force_encoding(encoding) return encoded if encoded.valid_encoding? end end
#reset_color_sequence
[ GitHub ]# File 'lib/reline/io.rb', line 35
def reset_color_sequence self.class::RESET_COLOR end