aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/extend
diff options
context:
space:
mode:
authorMax Howell2012-03-06 20:11:35 +0000
committerMax Howell2012-03-06 20:28:06 +0000
commitb63ec18564017534822d749e7e712cd0d45b8ef6 (patch)
treeaf36d131ca435786ba1205763e87bc54e9197302 /Library/Homebrew/extend
parent9c5ddb5721ec0a676ac3445214c6495aa4e53364 (diff)
downloadbrew-b63ec18564017534822d749e7e712cd0d45b8ef6.tar.bz2
Proper single character switch handling
Includes a test. So now you can do `brew cleanup -ns` and it will work.
Diffstat (limited to 'Library/Homebrew/extend')
-rw-r--r--Library/Homebrew/extend/ARGV.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb
index 24d70cb1f..130058327 100644
--- a/Library/Homebrew/extend/ARGV.rb
+++ b/Library/Homebrew/extend/ARGV.rb
@@ -103,6 +103,16 @@ module HomebrewArgvExtension
return false
end
+ # eg. `foo -ns -i --bar` has three switches, n, s and i
+ def switch? switch_character
+ return false if switch_character.length > 1
+ options_only.each do |arg|
+ next if arg[1..1] == '-'
+ return true if arg.include? switch_character
+ end
+ return false
+ end
+
def usage
require 'cmd/help'
Homebrew.help_s