jcommander
jcommander copied to clipboard
JCommander#addCommand does not copy the custom `IUsageFormatter`
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?