Die Version 3.0 der C++ (C++17-Dialekt) Header-only Bibliothek zur Parsing von Kommandozeilenargumenten wurde veröffentlicht. argparse, lizenziert unter der MIT-Lizenz.
Neuigkeiten:
- Unterstützung für gegenseitige Ausschlussargumente hinzugefügt:
auto &group = program.add_mutually_exclusive_group(); group.add_argument("—first"); group.add_argument("—second");
- C++20-Modul hinzugefügt;
- Unterstützung für die Auswahl aus mehreren Werten hinzugefügt:
program.add_argument("input") .default_value(std::string{"baz"}) .choices("foo", "bar", "baz"); program.add_argument("count") .default_value(0) .choices(0, 1, 2, 3, 4, 5);
- Unterstützung für die binäre Notation, z. B. 0b101, hinzugefügt:
argparse::ArgumentParser program("test"); program.add_argument("-n").scan<‘b’, uint8_t>();
- Überladene Version von is_subcommand_used hinzugefügt, die den Unterbefehl-Parser akzeptiert;
- Der Parameter exit_on_default_arguments wurde zum ArgumentParser hinzugefügt;
- Unterstützung zum Ausblenden von Unterbefehlen aus der Ausgabe des Befehls —help hinzugefügt:
argparse::ArgumentParser program("test"); argparse::ArgumentParser hidden_cmd("hidden"); hidden_cmd.add_argument("files").remaining(); hidden_cmd.set_suppress(true); program.add_subparser(hidden_cmd);
- Möglichkeit zur Überprüfung der Anwesenheit von geparsten Werten im ArgumentParser hinzugefügt;
- Spaltenausrichtung für mehrzeilige Hilfe zu Argumenten hinzugefügt;
- Viele Fehler wurden behoben.
Quelle: linux.org.ru
