You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Emmanuel Bourg (JIRA)" <ji...@apache.org> on 2011/04/12 23:20:05 UTC

[jira] [Resolved] (CLI-212) Print command-line options in same order as added

     [ https://issues.apache.org/jira/browse/CLI-212?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Bourg resolved CLI-212.
--------------------------------

    Resolution: Fixed

This is now fixed on the trunk

> 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: Improvement
>          Components: Help formatter
>    Affects Versions: 1.2
>            Reporter: Per Cederberg
>            Assignee: Emmanuel Bourg
>            Priority: Minor
>             Fix For: 1.3
>
>         Attachments: sort-fix.patch
>
>
> 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira