LINUX.ORG.RU

argparse 3.0

 , , , ,

argparse 3.0

4

2

Состоялся выпуск 3.0 C++ (стандарт C++17) header-only библиотеки парсинга аргументов командной строки argparse, распространяемой по лицензии MIT.

Что нового:

  • добавлена поддержка взаимно исключающих аргументов:
auto &group = program.add_mutually_exclusive_group();
group.add_argument("--first");
group.add_argument("--second");
  • добавлен модуль C++20;
  • добавлена поддержка выбора из нескольких значений:
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);
  • добавлена поддержка двоичной нотации, например, 0b101:
argparse::ArgumentParser program("test");
program.add_argument("-n").scan<'b', uint8_t>();
  • добавлен перегруженный вариант is_subcommand_used, принимающий парсер подкоманд;
  • в ArgumentParser добавлен параметр exit_on_default_arguments;
  • добавлена поддержка скрытия подкоманд из вывода команды --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);
  • добавлена возможность проверки наличия разобранных значений в ArgumentParser;
  • добавлено выравнивание по столбцу многострочной справки для аргументов;
  • исправлены многие ошибки.

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: cetjs2 (всего исправлений: 2)

Ответ на: комментарий от Shushundr

Нахера тебе это в библиотеке для разбора аргументов командной строки? Возьми для этого какой-нибудь gettext.

Или ты хочешь сами ключи переводить на русский?

theNamelessOne ★★★★★
()
Ответ на: комментарий от theNamelessOne

Или ты хочешь сами ключи переводить на русский?

Не хотел, но после того, как Вы спросили, мне это показалось неплохой идеей.

Shushundr ★★★
()
Ответ на: комментарий от Shushundr

А я не написал, «убейся ап стену» это ты уже сам придумал. Я только за то, чтобы больно удариться.

crutch_master ★★★★★
()
Ответ на: комментарий от Shushundr

в случае тебя только спасибо скажут ;)

kott ★★★★★
()
Ответ на: комментарий от theNamelessOne

Ну хотя бы для вывода ошибки о некорректном параметре.

rumgot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.