Class: IRB::BaseCompletor
Overview
Constant Summary
collapse
- HELP_COMMAND_PREPOSING =
Set of reserved words used by Ruby, you should not use these for constants or variables
/\Ahelp\s+/
- GEM_PATHS =
if defined?(Gem::Specification)
Gem::Specification.latest_specs(true).map { |s|
s.require_paths.map { |p|
if File.absolute_path?(p)
p
else
File.join(s.full_gem_path, p)
end
}
}.flatten
else
[]
end.freeze
Instance Method Summary
collapse
Instance Method Details
#command_candidates(target) ⇒ Object
71
72
73
74
75
76
77
|
# File 'lib/irb/completion.rb', line 71
def command_candidates(target)
if !target.empty?
IRB::Command.command_names.select { _1.start_with?(target) }
else
[]
end
end
|
#completion_candidates(preposing, target, postposing, bind:) ⇒ Object
18
19
20
|
# File 'lib/irb/completion.rb', line 18
def completion_candidates(preposing, target, postposing, bind:)
raise NotImplementedError
end
|
#doc_namespace(preposing, matched, postposing, bind:) ⇒ Object
22
23
24
|
# File 'lib/irb/completion.rb', line 22
def doc_namespace(preposing, matched, postposing, bind:)
raise NotImplementedError
end
|
#retrieve_files_to_require_from_load_path ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/irb/completion.rb', line 52
def retrieve_files_to_require_from_load_path
@files_from_load_path ||=
(
shortest = []
rest = retrieve_gem_and_system_load_path.each_with_object([]) { |path, result|
begin
names = Dir.glob("**/*.{rb,#{RbConfig::CONFIG['DLEXT']}}", base: path)
rescue Errno::ENOENT
nil
end
next if names.empty?
names.map! { |n| n.sub(/\.(rb|#{RbConfig::CONFIG['DLEXT']})\z/, '') }.sort!
shortest << names.shift
result.concat(names)
}
shortest.sort! | rest
)
end
|
#retrieve_files_to_require_relative_from_current_dir ⇒ Object
79
80
81
82
83
|
# File 'lib/irb/completion.rb', line 79
def retrieve_files_to_require_relative_from_current_dir
@files_from_current_dir ||= Dir.glob("**/*.{rb,#{RbConfig::CONFIG['DLEXT']}}", base: '.').map { |path|
path.sub(/\.(rb|#{RbConfig::CONFIG['DLEXT']})\z/, '')
}
end
|
#retrieve_gem_and_system_load_path ⇒ Object
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/irb/completion.rb', line 41
def retrieve_gem_and_system_load_path
candidates = (GEM_PATHS | $LOAD_PATH)
candidates.filter_map do |p|
if p.respond_to?(:to_path)
p.to_path
else
String(p) rescue nil
end
end.sort
end
|