Class: SpicedRumby::CLIInput

Inherits:
MeshChat::CLI::Base
  • Object
show all
Defined in:
lib/spiced_rumby/cli_input.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.autocompletesObject



4
5
6
7
8
# File 'lib/spiced_rumby/cli_input.rb', line 4

def autocompletes
  commands = MeshChat::CLI::COMMAND_MAP.map{ |k, v| "/#{k}" }
  aliases = MeshChat::Node.all.map{ |n| "#{n.alias_name}" }
  commands + aliases
end

Instance Method Details

#get_inputObject

called every time meshchat wants a line of text from the user



12
13
14
15
16
17
18
# File 'lib/spiced_rumby/cli_input.rb', line 12

def get_input
  # update auto completion
  completion = proc{ |s| self.class.autocompletes.grep(/^#{Regexp.escape(s)}/) }
  Readline.completion_proc = completion

  Readline.readline('> ', true)
end