Project

General

Profile

Actions

Bug #20328

closed

optparse omits the option's description in the --help output if the description is an Array

Added by postmodern (Hal Brodigan) 9 months ago. Updated 8 months ago.

Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux]
[ruby-core:117085]

Description

If you define an option using OptionParser#on, but give the option's description as a multi-line Array, then the option's description is omitted from the --help output.

Steps To Reproduce

#!/usr/bin/env ruby

require 'optparse'

optparser = OptionParser.new do |opts|
  opts.banner = 'usage: test.rb [options]'

  opts.on('-o', '--opt [OPT]', 'Line one') do |opt|
  end

  opts.on('-m', '--multiline-opt', ['Line one', 'Line two']) do |test|
  end

  opts.on('-h', '--help', 'Prints this help') do
    puts opts
    exit
  end
end

optparser.parse(['--help'])

Expected result

usage: test.rb [options]
    -o, --opt [OPT]                  Line one
    -m, --multiline-opt              Line one
                                     Line two
    -h, --help                       Prints this help

Actual Result

usage: test.rb [options]
    -o, --opt [OPT]                  Line one
    -m, --multiline-opt
    -h, --help                       Prints this help

or an ArgumentError should be raised if Array descriptions are not allowed/supported.

Version Info

Tested against optparse 0.1.0, 0.2.0, 0.3.1, and the master branch.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0