Handle option void type

- There's been no explicit support having argument void type
  as you would not be able to use with annotation model but
  surely can be wrapped as Type with CommandRegistration.
- For now change CommandInfoModel so that it uses empty string
  which is i.e. expected in help options which are just
  used as flags.
- It's outside of this commit to change parser to fail if
  user gives an argument value for this type of options.
- Fixes #586
This commit is contained in:
Janne Valkealahti
2022-12-05 09:30:06 +00:00
parent ef191e66f3
commit f5d6bae117
4 changed files with 68 additions and 2 deletions

View File

@@ -1141,7 +1141,8 @@ public interface CommandRegistration {
if (helpOptionsSpec != null) {
String[] longNames = helpOptionsSpec.longNames != null ? helpOptionsSpec.longNames : null;
Character[] shortNames = helpOptionsSpec.shortNames != null ? helpOptionsSpec.shortNames : null;
options.add(CommandOption.of(longNames, shortNames, "help for " + command));
options.add(CommandOption.of(longNames, shortNames, "help for " + command,
ResolvableType.forType(void.class)));
}
return options;
}