method
complete
v1_9_3_125 -
Show latest stable
- Class:
RDoc::RI::Driver
complete(name)public
Completes name based on the caches. For Readline
# File lib/rdoc/ri/driver.rb, line 629
def complete name
klasses = classes.keys
completions = []
klass, selector, method = parse_name name
# may need to include Foo when given Foo::
klass_name = method ? name : klass
if name !~ /#|\./ then
completions = klasses.grep(/^#{Regexp.escape klass_name}[^:]*$/)
completions.concat klasses.grep(/^#{Regexp.escape name}[^:]*$/) if
name =~ /::$/
completions << klass if classes.key? klass # to complete a method name
elsif selector then
completions << klass if classes.key? klass
elsif classes.key? klass_name then
completions << klass_name
end
if completions.include? klass and name =~ /#|\.|::/ then
methods = list_methods_matching name
if not methods.empty? then
# remove Foo if given Foo:: and a method was found
completions.delete klass
elsif selector then
# replace Foo with Foo:: as given
completions.delete klass
completions << "#{klass}#{selector}"
end
completions.push(*methods)
end
completions.sort.uniq
end Related methods
- Instance methods
- add_also_in
- add_class
- add_from
- add_includes
- add_method_list
- ancestors_of
- class_cache
- class_document
- classes
- classes_and_includes_for
- complete
- display
- display_class
- display_method
- display_name
- display_names
- expand_class
- expand_name
- filter_methods
- find_methods
- formatter
- in_path?
- interactive
- list_known_classes
- list_methods_matching
- load_method
- load_methods_matching
- method_document
- method_type
- name_regexp
- page
- paging?
- parse_name
- run
- setup_pager
- Class methods
- default_options
- dump
- new
- process_args
- run