mirror of
https://github.com/RGBCube/serenity
synced 2025-05-21 04:25:06 +00:00

This demonstrates both an option and an optional positional argument, as well as some simple format string printing with {}.
24 lines
685 B
C++
24 lines
685 B
C++
#include <AK/Format.h>
|
|
#include <AK/StringView.h>
|
|
#include <LibCore/ArgsParser.h>
|
|
#include <LibCore/System.h>
|
|
#include <LibMain/Main.h>
|
|
|
|
ErrorOr<int> serenity_main(Main::Arguments arguments)
|
|
{
|
|
int hello_count = 1;
|
|
StringView epilog;
|
|
|
|
Core::ArgsParser parser;
|
|
parser.add_option(hello_count, "How often to print \"Hello friends!\"", "count", 'c', "hello-count");
|
|
parser.add_positional_argument(epilog, "What to print at the end", "epilog", Core::ArgsParser::Required::No);
|
|
parser.parse(arguments);
|
|
|
|
for (auto i = 0; i < hello_count; ++i)
|
|
outln("Hello friends!");
|
|
|
|
if (!epilog.is_empty())
|
|
outln("And finally: {}", epilog);
|
|
|
|
return 0;
|
|
}
|