argparse 3.0

argparse 3.0

Izdanje 3.0 C++ (C++17 dijalekt) biblioteke samo zaglavlja za raščlanjivanje argumenata komandne linije argparse, distribuiran pod MIT licencom.

Šta je novo:

  • dodata podrška za međusobno isključive argumente:

auto &group = program.add_mutually_exclusive_group(); group.add_argument("—prvi"); group.add_argument("—drugi");

  • dodat C++20 modul;
  • dodata podrška za odabir između više vrijednosti:

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

  • dodata podrška za binarnu notaciju, na primjer 0b101:

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

  • dodao je preopterećenu verziju is_subcommand_used, koja prihvata parser podnaredbi;
  • dodao parametar exit_on_default_arguments u ArgumentParser;
  • dodata podrška za skrivanje podnaredbi iz izlaza naredbe --help:

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

  • dodana mogućnost provjere raščlanjenih vrijednosti u ArgumentParseru;
  • dodano poravnanje u višelinijski stupac pomoći za argumente;
  • Mnoge greške su ispravljene.

izvor: linux.org.ru

Dodajte komentar