diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2023-09-07 15:41:09 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2023-09-07 15:41:09 +0200 |
| commit | bbda83f674a97e80cf89bff3d12737dd5ecc3243 (patch) | |
| tree | b37a1c465eaa2f999fdde87547a44caaf8ff97e1 /source/app/wandac/src/cli.cpp | |
| parent | 8e48049013a5a6668d2bd3c1bcb1fbc0ddd9534d (diff) | |
| download | wanda-bbda83f674a97e80cf89bff3d12737dd5ecc3243.tar.xz wanda-bbda83f674a97e80cf89bff3d12737dd5ecc3243.zip | |
wandac: extract cli and commander listener
Diffstat (limited to 'source/app/wandac/src/cli.cpp')
| -rw-r--r-- | source/app/wandac/src/cli.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/source/app/wandac/src/cli.cpp b/source/app/wandac/src/cli.cpp new file mode 100644 index 0000000..954ca63 --- /dev/null +++ b/source/app/wandac/src/cli.cpp @@ -0,0 +1,30 @@ +#include "wandac/cli.hpp" + +#include <lyra/arg.hpp> +#include <lyra/help.hpp> + +#include <ostream> + +namespace wandac +{ + + auto cli::parse(lyra::args arguments, std::ostream & error_stream) -> bool + { + parser |= // + lyra::help(help) | // + lyra::arg{command, "command"}("The command to send to the deamon").required(); + + auto result = parser.parse(arguments); + + if (!result) + { + error_stream << "Error while processing command line arguments: " << result.message() << '\n' << parser << '\n'; + return false; + } + + return true; + } + + auto cli::print_usage(std::ostream & output_stream) -> void { output_stream << parser << '\n'; } + +} // namespace wandac |
