1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-21 17:25:07 +00:00
serenity/Base/res/devel/templates/cpp-basic/main.cpp
kleines Filmröllchen 876f00e635 Base: Demonstrate ArgsParser and format strings in cli project template
This demonstrates both an option and an optional positional argument, as
well as some simple format string printing with {}.
2023-05-05 02:15:43 +03:30

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;
}