brew/Library/Homebrew/cmd/command.rb

35 lines
810 B
Ruby
Raw Normal View History

2016-09-07 20:09:22 +01:00
require "commands"
2019-01-20 20:08:14 +05:30
require "cli_parser"
2016-09-07 20:09:22 +01:00
module Homebrew
2016-09-26 01:44:51 +02:00
module_function
2019-01-20 20:08:14 +05:30
def command_args
Homebrew::CLI::Parser.new do
usage_banner <<~EOS
`command` <cmd>
Display the path to the file which is used when invoking `brew` <cmd>.
EOS
switch :verbose
switch :debug
end
end
def command
2019-01-20 20:08:14 +05:30
command_args.parse
abort "This command requires a command argument" if args.remaining.empty?
2019-01-20 20:08:14 +05:30
cmd = HOMEBREW_INTERNAL_COMMAND_ALIASES.fetch(args.remaining.first, args.remaining.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