jcommander icon indicating copy to clipboard operation
jcommander copied to clipboard

JCommander#addCommand does not copy the custom `IUsageFormatter`

Open fbiville opened this issue 5 years ago • 0 comments

It seems currently impossible to have a custom IUsageFormatter that propagates to commands:

Here is the current stable version of the canonical addCommand (v1.78).

    public void addCommand(String name, Object object, String... aliases) {
        JCommander jc = new JCommander(options);
        jc.addObject(object);
        jc.createDescriptions();
        jc.setProgramName(name, aliases);
        ProgramName progName = jc.programName;
        commands.put(progName, jc);
        // aliases [...]
    }

Every added command will be associated with a JCommander instance set with DefaultUsageFormatter.

I assume the fix would consist in setting the custom IUsageFormatter in the associated JCommander.Options instance?

fbiville avatar Jun 01 '20 11:06 fbiville