class IRB::ReadlineInputMethod
Public Class Methods
initialize_readline()
click to toggle source
# File irb/input-method.rb, line 163 def self.initialize_readline require "readline" rescue LoadError else include ::Readline end
new()
click to toggle source
Creates a new input method object using Readline
Calls superclass method
IRB::StdioInputMethod::new
# File irb/input-method.rb, line 173 def initialize self.class.initialize_readline if Readline.respond_to?(:encoding_system_needs) IRB.__send__(:set_encoding, Readline.encoding_system_needs.name, override: false) end super @eof = false if Readline.respond_to?("basic_word_break_characters=") Readline.basic_word_break_characters = IRB::InputCompletor::BASIC_WORD_BREAK_CHARACTERS end Readline.completion_append_character = nil Readline.completion_proc = IRB::InputCompletor::CompletionProc end
Public Instance Methods
eof?()
click to toggle source
Whether the end of this input method has been reached, returns true
if there is no more data to read.
See IO#eof? for more information.
# File irb/input-method.rb, line 209 def eof? @eof end
gets()
click to toggle source
Reads the next line from this input method.
See IO#gets for more information.
# File irb/input-method.rb, line 193 def gets Readline.input = @stdin Readline.output = @stdout if l = readline(@prompt, false) HISTORY.push(l) if !l.empty? @line[@line_no += 1] = l + "\n" else @eof = true l end end
inspect()
click to toggle source
For debug message
# File irb/input-method.rb, line 214 def inspect readline_impl = (defined?(Reline) && Readline == Reline) ? 'Reline' : 'ext/readline' str = "ReadlineInputMethod with #{readline_impl} #{Readline::VERSION}" inputrc_path = File.expand_path(ENV['INPUTRC'] || '~/.inputrc') str += " and #{inputrc_path}" if File.exist?(inputrc_path) str end