-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathwith_dispatch.cpp
More file actions
24 lines (21 loc) · 879 Bytes
/
Copy pathwith_dispatch.cpp
File metadata and controls
24 lines (21 loc) · 879 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import std;
import mcpplibs.cmdline;
using namespace mcpplibs;
int main(int argc, char* argv[]) {
auto app = cmdline::App("demo")
.version("0.1.0")
.description("Demo: parse + run with action")
.option("yes").short_name('y').global(true).help("Auto confirm")
.subcommand("add")
.description("Add a target")
.arg("target").required()
.arg("version").required()
.action([](const cmdline::ParsedArgs& args) {
std::println("add: {}@{}", args.value("target").value_or(""), args.value("version").value_or(""));
})
.subcommand("remove")
.description("Remove a target")
.arg("target").required()
.action([](const cmdline::ParsedArgs& args) { std::println("remove: {}", args.positional(0)); });
return app.run(argc, argv);
}