aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/command.rb19
-rw-r--r--Library/Homebrew/cmd/commands.rb43
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