diff --git a/Library/Homebrew/brew.rb b/Library/Homebrew/brew.rb index 6ff6e763dd..e1058ef5f6 100644 --- a/Library/Homebrew/brew.rb +++ b/Library/Homebrew/brew.rb @@ -73,7 +73,7 @@ begin # - a help flag is passed AND there is no command specified # - no arguments are passed # - if cmd is Cask, let Cask handle the help command instead - if (empty_argv || help_flag) && cmd != "cask" && !internal_dev_cmd + if (empty_argv || help_flag) && cmd != "cask" require "help" Homebrew::Help.help cmd, empty_argv: empty_argv # `Homebrew.help` never returns, except for external/unknown commands. diff --git a/Library/Homebrew/help.rb b/Library/Homebrew/help.rb index 76ddbb79e9..b1bc461e4e 100644 --- a/Library/Homebrew/help.rb +++ b/Library/Homebrew/help.rb @@ -38,6 +38,9 @@ module Homebrew module_function def help(cmd = nil, flags = {}) + # Let OptionParser generate help text for developer commands + return if require? HOMEBREW_LIBRARY_PATH/"dev-cmd"/cmd + # Resolve command aliases and find file containing the implementation. if cmd cmd = HOMEBREW_INTERNAL_COMMAND_ALIASES.fetch(cmd, cmd)