class Meshchat::Ui::CLI::ReadlineInput
Attributes
input_handler[RW]
_input_receiver[R]
The class used for interpeting the line input
Public Class Methods
autocompletes()
click to toggle source
# File lib/meshchat/ui/cli/readline_input.rb, line 51 def autocompletes commands = Meshchat::Ui::Command::COMMAND_MAP.map { |k, _v| "/#{k}" } aliases = Meshchat::Node.all.map { |n| n.alias_name.to_s } commands + aliases end
new(input_receiver)
click to toggle source
# File lib/meshchat/ui/cli/readline_input.rb, line 11 def initialize(input_receiver) @_input_receiver = input_receiver end
Public Instance Methods
start()
click to toggle source
# File lib/meshchat/ui/cli/readline_input.rb, line 62 def start # Ripl.start conn = EventMachine.watch $stdin, Handler conn.notify_readable = true conn.input_receiver = _input_receiver self.class.input_handler = conn # update auto completion completion = proc { |s| self.class.autocompletes.grep(/^#{Regexp.escape(s)}/) } Readline.completion_proc = completion end