Class: Reline::IO
- Inherits:
-
Object
- Object
- Reline::IO
- Defined in:
- lib/reline/io.rb
Constant Summary collapse
- RESET_COLOR =
"\e[0m"
Class Method Summary collapse
Instance Method Summary collapse
- #dumb? ⇒ Boolean
-
#read_single_char(keyseq_timeout) ⇒ Object
Read a single encoding valid character from the input.
- #reset_color_sequence ⇒ Object
- #win? ⇒ Boolean
Class Method Details
.decide_io_gate ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 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 Method Details
#dumb? ⇒ Boolean
27 28 29 |
# File 'lib/reline/io.rb', line 27 def dumb? false end |
#read_single_char(keyseq_timeout) ⇒ Object
Read a single encoding valid character from the input.
40 41 42 43 44 45 46 47 48 49 50 51 |
# 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 ⇒ Object
35 36 37 |
# File 'lib/reline/io.rb', line 35 def reset_color_sequence self.class::RESET_COLOR end |
#win? ⇒ Boolean
31 32 33 |
# File 'lib/reline/io.rb', line 31 def win? false end |