HelpFormatter ignores Option's value separator
----------------------------------------------

                 Key: CLI-169
                 URL: https://issues.apache.org/jira/browse/CLI-169
             Project: Commons CLI
          Issue Type: Bug
          Components: CLI-1.x, Help formatter
    Affects Versions: 1.2
            Reporter: J. Lewis Muir
             Fix For: 1.2


The HelpFormatter always renders a space between the option name and value even 
if the option has a value separator that is not a space.  For example, this 
option:

{code}
Option option = new Option("B", "bsize", true, "block size in bytes");
option.setArgName("SIZE");
option.setValueSeparator('=');
{code}

is rendered like this:

{noformat}
-B,--bsize <SIZE>  block size in bytes
{noformat}

But I would expect it to be rendered like this:

{noformat}
-B,--bsize=<SIZE>  block size in bytes
{noformat}

For the automatically generated usage message, a similar problem exists.  I 
changed it to try to use the value separator when rendering the option with the 
short name only if there's no long name.  If there's no short name, it always 
tries to use the value separator with the long name rendering.

For example, consider this option containing a short name and a specified value 
separator:

{code}
Option option = new Option("B", true, "block size in bytes");
option.setArgName("SIZE");
option.setValueSeparator('=');
{code}

The automatically generated usage message with my changes would look like this:

{noformat}
usage: app [-B=<SIZE>]
{noformat}

If the same option included a long name too:

{code}
Option option = new Option("B", "bsize", true, "block size in bytes");
option.setArgName("SIZE");
option.setValueSeparator('=');
{code}

with my changes the value separator is assumed to be meant for use with the 
long name.  The short option rendering in the usage message will not try to use 
the value separator and will render the usage message like this:

{noformat}
usage: app [-B <SIZE>]
{noformat}

Attached is a patch for these fixes with test cases.  The patch is against 
[http://svn.apache.org/repos/asf/commons/proper/cli/branches/cli-1.x].


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to