}
for (i = i + 1; i < argc; i++) {
argp->parser(-1, argv[i], input);
argp->parser(Key::ARG, argv[i], input);
args++;
}
if (!args) argp->parser(Key::NO_ARGS, 0, input);
argp->parser(Key::END, 0, input);
argp->parser(Key::SUCCESS, 0, input);
return 0;
unknown:
std::cerr << std::format("unknown option {}\n", argv[i]);
argp->parser(Key::ERROR, 0, input);
return 1;
missing:
std::cerr << std::format("option {} missing a value\n", argv[i]);
argp->parser(Key::ERROR, 0, input);
return 2;
excess:
std::cerr << std::format("option {} don't require a value\n", argv[i]);
argp->parser(Key::ERROR, 0, input);
return 3;
}