diff options
Diffstat (limited to 'Library/Homebrew/cmd')
| -rw-r--r-- | Library/Homebrew/cmd/command.rb | 19 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/commands.rb | 43 |
2 files changed, 34 insertions, 28 deletions
diff --git a/Library/Homebrew/cmd/command.rb b/Library/Homebrew/cmd/command.rb index 39e8ba6fc..d964fa1a9 100644 --- a/Library/Homebrew/cmd/command.rb +++ b/Library/Homebrew/cmd/command.rb @@ -8,15 +8,16 @@ module Homebrew def command abort "This command requires a command argument" if ARGV.empty? - cmd = ARGV.first - cmd = HOMEBREW_INTERNAL_COMMAND_ALIASES.fetch(cmd, cmd) - if (path = Commands.path(cmd)) - puts path - elsif (path = which("brew-#{cmd}") || which("brew-#{cmd}.rb")) - puts path - else - odie "Unknown command: #{cmd}" - end + cmd = HOMEBREW_INTERNAL_COMMAND_ALIASES.fetch(ARGV.first, ARGV.first) + + path = Commands.path(cmd) + + cmd_paths = PATH.new(ENV["PATH"]).append(Tap.cmd_directories) unless path + path ||= which("brew-#{cmd}", cmd_paths) + path ||= which("brew-#{cmd}.rb", cmd_paths) + + odie "Unknown command: #{cmd}" unless path + puts path end end diff --git a/Library/Homebrew/cmd/commands.rb b/Library/Homebrew/cmd/commands.rb index 0dfc6c451..244373482 100644 --- a/Library/Homebrew/cmd/commands.rb +++ b/Library/Homebrew/cmd/commands.rb @@ -9,27 +9,30 @@ module Homebrew def commands if ARGV.include? "--quiet" - cmds = internal_commands + external_commands + cmds = internal_commands + cmds += external_commands cmds += internal_developer_commands cmds += HOMEBREW_INTERNAL_COMMAND_ALIASES.keys if ARGV.include? "--include-aliases" puts Formatter.columns(cmds.sort) - else - # Find commands in Homebrew/cmd - puts "Built-in commands" - puts Formatter.columns(internal_commands.sort) - - # Find commands in Homebrew/dev-cmd - puts - puts "Built-in developer commands" - puts Formatter.columns(internal_developer_commands.sort) - - # Find commands in the path - unless (exts = external_commands).empty? - puts - puts "External commands" - puts Formatter.columns(exts) - end + return end + + # Find commands in Homebrew/cmd + puts "Built-in commands" + puts Formatter.columns(internal_commands.sort) + + # Find commands in Homebrew/dev-cmd + puts + puts "Built-in developer commands" + puts Formatter.columns(internal_developer_commands.sort) + + exts = external_commands + return if exts.empty? + + # Find commands in the PATH + puts + puts "External commands" + puts Formatter.columns(exts) end def internal_commands @@ -41,11 +44,13 @@ module Homebrew end def external_commands - paths.each_with_object([]) do |path, cmds| + cmd_paths = PATH.new(ENV["PATH"]).append(Tap.cmd_directories) + cmd_paths.each_with_object([]) do |path, cmds| Dir["#{path}/brew-*"].each do |file| next unless File.executable?(file) cmd = File.basename(file, ".rb")[5..-1] - cmds << cmd unless cmd.include?(".") + next if cmd.include?(".") + cmds << cmd end end.sort end |
