Impossible to print command-line options in same order as added
---------------------------------------------------------------

                 Key: CLI-212
                 URL: https://issues.apache.org/jira/browse/CLI-212
             Project: Commons CLI
          Issue Type: Bug
          Components: Help formatter
    Affects Versions: 1.2
            Reporter: Per Cederberg


Using the current HelpFormater and Options classes it is impossible to print 
command-line options in the same order as they were added.

In some applications this is critical, since option grouping is important for 
understanding how to use a program. Also, the programmer might have good 
reasons for adding options in a particular order. The default could remain 
printing sorted options, however.

Two small changes need to be made to allow this:

1. Change to use LinkedHashMap instead of HashMap in Options class:

    private Map shortOpts = new LinkedHashMap(); // keeps original order by 
default
    private Map optionGroups = new LinkedHashMap(); 

2. Change the "null" formatter option in HelpFormatter to actually skip sorting:

    public void setOptionComparator(Comparator comparator)
        this.optionComparator = comparator; // allow null values, default 
ordering
    }

Fix #2 above isn't strictly necessary, but would avoid forcing users to create 
boiler-plate code for this.

-- 
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