diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-30 01:42:03 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-30 01:42:03 +0000 |
| commit | 52b7bb55d566d7f3311a20fb249257a1a52acb5c (patch) | |
| tree | 35d1cc9f302a9d37983b8386b9c68b2a18662b17 /lib | |
| parent | 36b78e5b9370a4c26dbbd86e3c1042d3c83d4687 (diff) | |
| download | ruby-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-x | lib/rake.rb | 11 |
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 |
