brew.rb: improve error message for miscased commands.
This commit is contained in:
parent
d0e438c5fa
commit
9fd678cc58
@ -83,10 +83,7 @@ begin
|
|||||||
end
|
end
|
||||||
|
|
||||||
if internal_cmd || Commands.external_ruby_v2_cmd_path(cmd)
|
if internal_cmd || Commands.external_ruby_v2_cmd_path(cmd)
|
||||||
# All internal commands are downcased
|
cmd = T.must(cmd)
|
||||||
# Since APFS is case-insensitive by default, Ruby will load the command file
|
|
||||||
# if user passes it mixed-case, but here invoking it will fail.
|
|
||||||
cmd = T.must(cmd).downcase
|
|
||||||
cmd_class = Homebrew::AbstractCommand.command(cmd)
|
cmd_class = Homebrew::AbstractCommand.command(cmd)
|
||||||
Homebrew.running_command = cmd
|
Homebrew.running_command = cmd
|
||||||
if cmd_class
|
if cmd_class
|
||||||
@ -96,7 +93,14 @@ begin
|
|||||||
Utils::Analytics.report_command_run(command_instance)
|
Utils::Analytics.report_command_run(command_instance)
|
||||||
command_instance.run
|
command_instance.run
|
||||||
else
|
else
|
||||||
Homebrew.public_send Commands.method_name(cmd)
|
begin
|
||||||
|
Homebrew.public_send Commands.method_name(cmd)
|
||||||
|
rescue NoMethodError => e
|
||||||
|
case_error = "undefined method `#{cmd.downcase}' for module Homebrew"
|
||||||
|
odie "Unknown command: brew #{cmd}" if e.message == case_error
|
||||||
|
|
||||||
|
raise
|
||||||
|
end
|
||||||
end
|
end
|
||||||
elsif (path = Commands.external_ruby_cmd_path(cmd))
|
elsif (path = Commands.external_ruby_cmd_path(cmd))
|
||||||
Homebrew.running_command = cmd
|
Homebrew.running_command = cmd
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user