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

@@ -230,4 +230,26 @@ public class OptionTypeCommands extends BaseE2ECommands {
.and()
.build();
}
//
// Void
//
@Bean
public CommandRegistration optionTypeVoidRegistration(Supplier<CommandRegistration.Builder> builder) {
return builder.get()
.command(REG, "option-type-void")
.group(GROUP)
.withOption()
.longNames("arg1")
.type(void.class)
.and()
.withTarget()
.function(ctx -> {
return "Hello ";
})
.and()
.build();
}
}