summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-30 01:42:03 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-30 01:42:03 +0000
commit52b7bb55d566d7f3311a20fb249257a1a52acb5c (patch)
tree35d1cc9f302a9d37983b8386b9c68b2a18662b17 /lib
parent36b78e5b9370a4c26dbbd86e3c1042d3c83d4687 (diff)
downloadruby-52b7bb55d566d7f3311a20fb249257a1a52acb5c.tar.gz
ruby-52b7bb55d566d7f3311a20fb249257a1a52acb5c.tar.xz
ruby-52b7bb55d566d7f3311a20fb249257a1a52acb5c.zip
* lib/rake.rb (Rake::Application#help): fix for OPTIONAL_ARGUMENT and
multiple short options. [ruby-dev:36051] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rwxr-xr-xlib/rake.rb11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/rake.rb b/lib/rake.rb
index 068a0ceb2..0b21eb735 100755
--- a/lib/rake.rb
+++ b/lib/rake.rb
@@ -1984,13 +1984,18 @@ module Rake
puts
puts "Options are ..."
puts
- OPTIONS.sort.each do |long, short, mode, desc|
- if mode == GetoptLong::REQUIRED_ARGUMENT
+ OPTIONS.sort.each do |long, *short, mode, desc|
+ case mode
+ when GetoptLong::REQUIRED_ARGUMENT
if desc =~ /\b([A-Z]{2,})\b/
long = long + "=#{$1}"
end
+ when GetoptLong::OPTIONAL_ARGUMENT
+ if desc =~ /\b([A-Z]{2,})\b/
+ long = long + "[=#{$1}]"
+ end
end
- printf " %-20s (%s)\n", long, short
+ printf " %-20s (%s)\n", long, short.join(", ")
printf " %s\n", desc
end
end