diff --git a/Library/Homebrew/brew.rb b/Library/Homebrew/brew.rb index 11dd3ff30b..89b8e906e2 100644 --- a/Library/Homebrew/brew.rb +++ b/Library/Homebrew/brew.rb @@ -94,7 +94,7 @@ begin # - if cmd is Cask, let Cask handle the help command instead if (empty_argv || help_flag) && cmd != "cask" require "help" - Homebrew::Help.help cmd, empty_argv: empty_argv + Homebrew::Help.help cmd, empty_argv: empty_argv, internal_cmd: internal_cmd # `Homebrew.help` never returns, except for external/unknown commands. end diff --git a/Library/Homebrew/help.rb b/Library/Homebrew/help.rb index c99e6dae7f..039a4567d0 100644 --- a/Library/Homebrew/help.rb +++ b/Library/Homebrew/help.rb @@ -72,6 +72,9 @@ module Homebrew # Resume execution in `brew.rb` for unknown commands. return if path.nil? + # Resume execution in `brew.rb` for external commands using "cli/parser". + return if !flags[:internal_cmd] && path.read.match?("require .cli/parser.") + # Display help for internal command (or generic help if undocumented). puts command_help(path) exit 0