argparse 3.0

argparse 3.0

Paglabas ng 3.0 C++ (C++17 dialect) na header-only na library para sa pag-parse ng mga argumento ng command line argparse, ibinahagi sa ilalim ng lisensya ng MIT.

Anong bago:

  • nagdagdag ng suporta para sa kapwa eksklusibong mga argumento:

auto &group = program.add_mutually_exclusive_group(); group.add_argument("β€”una"); group.add_argument("β€”pangalawa");

  • idinagdag ang C++20 module;
  • nagdagdag ng suporta para sa pagpili mula sa maraming halaga:

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

  • nagdagdag ng suporta para sa binary notation, halimbawa 0b101:

argparse::ArgumentParser program("test"); program.add_argument("-n").scan<'b', uint8_t>();

  • nagdagdag ng overloaded na bersyon ng is_subcommand_used, na tumatanggap ng subcommand parser;
  • nagdagdag ng exit_on_default_arguments na parameter sa ArgumentParser;
  • nagdagdag ng suporta para sa pagtatago ng mga subcommand mula sa output ng --help command:

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

  • idinagdag ang kakayahang suriin ang mga na-parse na halaga sa ArgumentParser;
  • nagdagdag ng pagkakahanay sa multi-line na column ng tulong para sa mga argumento;
  • Maraming mga bug ang naayos.

Pinagmulan: linux.org.ru

Magdagdag ng komento