From 2c61e3c02acfc09ee01ac3affc0374bebd83ead3 Mon Sep 17 00:00:00 2001 From: Adam Vandenberg Date: Mon, 26 May 2014 10:36:27 -0700 Subject: [PATCH] --help and --version only apply as first argument This fixes external commands that provide their own help and version subcommands. Closes Homebrew/homebrew#26755. --- Library/Homebrew/extend/ARGV.rb | 8 -------- Library/brew.rb | 5 +++-- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb index 9f76338d04..25c2f882af 100644 --- a/Library/Homebrew/extend/ARGV.rb +++ b/Library/Homebrew/extend/ARGV.rb @@ -149,14 +149,6 @@ module HomebrewArgvExtension include? '--force-bottle' end - def help? - empty? || grep(/(-h$|--help$|--usage$|-\?$|help$)/).any? - end - - def version? - include? '--version' - end - # eg. `foo -ns -i --bar` has three switches, n, s and i def switch? switch_character return false if switch_character.length > 1 diff --git a/Library/brew.rb b/Library/brew.rb index 6d7eb3d6fa..60c3109f0a 100755 --- a/Library/brew.rb +++ b/Library/brew.rb @@ -15,11 +15,12 @@ HOMEBREW_LIBRARY_PATH = Pathname.new(__FILE__).realpath.dirname.parent.join("Lib $:.unshift(HOMEBREW_LIBRARY_PATH.to_s) require 'global' -if ARGV.help? +if ARGV.empty? || ARGV[0] =~ /(-h$|--help$|--usage$|-\?$|help$)/ + # TODO - `brew help cmd` should display subcommand help require 'cmd/help' puts ARGV.usage exit ARGV.any? ? 0 : 1 -elsif ARGV.version? +elsif ARGV.first == '--version' puts HOMEBREW_VERSION exit 0 elsif ARGV.first == '-v'