aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Howell2009-08-11 00:27:18 +0100
committerMax Howell2009-08-11 00:27:18 +0100
commit3b262d0b2349291ade041919a85fd2f75fd8528a (patch)
treea30d9ee7094b9206306fc19133e783d3976bfec8
parent8c7b6a947cdcdb3a03852e4406534516e43b76cf (diff)
downloadbrew-3b262d0b2349291ade041919a85fd2f75fd8528a.tar.bz2
Raise if ARGV.named and no named arguments
-rw-r--r--Library/Homebrew/ARGV+yeast.rb20
-rwxr-xr-xbin/brew13
2 files changed, 24 insertions, 9 deletions
diff --git a/Library/Homebrew/ARGV+yeast.rb b/Library/Homebrew/ARGV+yeast.rb
index c61e2d2c2..140e17ed3 100644
--- a/Library/Homebrew/ARGV+yeast.rb
+++ b/Library/Homebrew/ARGV+yeast.rb
@@ -17,7 +17,11 @@
#
module HomebrewArgvExtension
def named
- reject{|arg| arg[0..0] == '-'}.collect{|arg| arg.downcase}.uniq
+ nn=namedp
+ raise UsageError if nn.empty?
+ end
+ def named_empty?
+ namedp.empty?
end
def options
select {|arg| arg[0..0] == '-'}
@@ -71,14 +75,22 @@ Usage: brew [--verbose]
Commands:
install formula ... [--debug] [--interactive]
- rm formula ...
+ remove formula ...
list formula ...
- ln formula ...
+ link formula ...
+ home formula ...
info [formula] [--github]
- mk url
+ make url
prune
EOS
end
+
+private
+ def namedp
+ nn=reject{|arg| arg[0..0] == '-'}.collect{|arg| arg.downcase}.uniq
+ end
end
+class UsageError <RuntimeError; end
+
ARGV.extend HomebrewArgvExtension
diff --git a/bin/brew b/bin/brew
index 763b9a9ae..fbb217cea 100755
--- a/bin/brew
+++ b/bin/brew
@@ -33,17 +33,17 @@ begin
when '-v', '--version' then puts HOMEBREW_VERSION
when 'home', 'homepage'
- if ARGV.named.empty?
+ if ARGV.named_empty?
exec "open", HOMEBREW_WWW
else
exec "open", *ARGV.formulae.collect {|f| f.homepage}
end
when 'ls', 'list'
- exec "find", *ARGV.kegs.concat(%w[-not -type d -print])
+ exec "find", *ARGV.kegs+%w[-not -type d -print]
when 'edit'
- if ARGV.empty?
+ if ARGV.named_empty?
exec "mate", *Dir["#{HOMEBREW_PREFIX}/Library/*"]<<
"#{HOMEBREW_PREFIX}/bin/brew"<<
"#{HOMEBREW_PREFIX}/README"
@@ -61,7 +61,7 @@ begin
else
Process.wait pid
end
- exit! 1 if $? != 0 # exception in other brew will be visible on screen
+ exit! $? if $? != 0 # exception in other brew will be visible on screen
end
# this is an internal option, don't expose it to the user
@@ -110,7 +110,7 @@ begin
end
when 'info', 'abv'
- if ARGV.named.empty?
+ if ARGV.named_empty?
puts `ls #{HOMEBREW_CELLAR} | wc -l`.strip+" kegs, "+HOMEBREW_CELLAR.abv
elsif ARGV[0][0..6] == 'http://'
puts Pathname.new(ARGV.shift).version
@@ -122,6 +122,9 @@ begin
puts ARGV.usage
end
+rescue UsageError
+ onoe "Invalid usage"
+ puts ARGV.usage
rescue SystemExit
ohai "Kernel.exit" if ARGV.verbose?
rescue Interrupt => e