module Bond::Rc
Namespace in which completion files, ~/.bondrc and ~/.bond/completions/*.rb, are evaluated. Methods in this module and Search are the DSL in completion files and can be used within completion actions.
Example ~/.bondrc¶ ↑
# complete arguments for any object's :respond_to? complete(:method => "Object#respond_to?") {|e| e.object.methods } # complete arguments for any module's :public complete(:method => "Module#public") {|e| e.object.instance_methods } # Share generate_tags action across completions complete(:method => "edit_tags", :action => :generate_tags) complete(:method => "delete_tags", :search => false) {|e| generate_tags(e).grep(/#{e}/i) } def generate_tags(input) ... end
Public Instance Methods
complete(*args, &block)
click to toggle source
See {Bond#complete}
# File lib/bond/rc.rb, line 22 def complete(*args, &block); M.complete(*args, &block); end
eval(str)
click to toggle source
Calls eval with Bond::Mission.current_eval, rescuing any exceptions to return nil. If Bond#config is true, exceptions are raised again.
# File lib/bond/rc.rb, line 42 def eval(str) Mission.current_eval(str) rescue Exception raise if Bond.config[:debug] end
files(input)
click to toggle source
Action method with search which returns array of files that match current input.
# File lib/bond/rc.rb, line 27 def files(input) (::Readline::FILENAME_COMPLETION_PROC.call(input) || []).map {|f| f =~ /^~/ ? File.expand_path(f) : f } end
objects_of(klass)
click to toggle source
Helper method which returns objects of a given class.
# File lib/bond/rc.rb, line 34 def objects_of(klass) object = [] ObjectSpace.each_object(klass) {|e| object.push(e) } object end
recomplete(*args, &block)
click to toggle source
See {Bond#recomplete}
# File lib/bond/rc.rb, line 24 def recomplete(*args, &block); M.recomplete(*args, &block); end