cli
cli copied to clipboard
Default argument for commands
root_menu->Insert(
"show_updt",
[&](ostream& out, uint32_t cnt = 1) {
// do stuff
//...
},
"Show next x updates");
I tried registering the above handler, expecting the command to use default argument of 1, when no arguments are provided. But it did not work, though it compiled just fine:
demo> help
Commands available:
- help
This help message
- exit
Quit the session
- show_updt <unsigned int>
Show next x updates
demo> show_updt
wrong command: show_updt
demo> show_updt 2
demo> show_updt 1
demo>
Default arguments if available would be great!
Also, the error message here should better be something like missing command arguments
instead of wrong command
!
It would be a great feature, indeed.
Unfortunately, C++ templates do not work with default arguments, and cli library is implemented with template functions.
However, if someone in the community has already implemented a successful solution for using default arguments with template functions, please feel free to share a pull request (PR).