From a2229ee3b97eeddb62fa217f74fe3cde8084a6e5 Mon Sep 17 00:00:00 2001 From: Krzysiek Karbowiak Date: Fri, 7 Mar 2025 22:24:03 +0100 Subject: [PATCH 1/2] Consume pseudo arguments after parsing --- include/argparse.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/argparse.h b/include/argparse.h index 9a37cdfe..f46f45c3 100644 --- a/include/argparse.h +++ b/include/argparse.h @@ -317,9 +317,10 @@ namespace argparse auto parse_args(tokens args) -> Parameters { parse_optional_arguments(args); - consume_pseudo_arguments(args); parse_positional_arguments(args); + consume_pseudo_arguments(args); + ensure_no_unrecognised_arguments(args); ensure_no_arguments_excluded(); ensure_no_arguments_missing(); From 51e9e060fee446cd38fe51962d87ebe0a6c39eb8 Mon Sep 17 00:00:00 2001 From: Krzysiek Karbowiak Date: Fri, 7 Mar 2025 22:27:30 +0100 Subject: [PATCH 2/2] Remove no longer needed check --- include/argparse.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/include/argparse.h b/include/argparse.h index f46f45c3..0139d3f4 100644 --- a/include/argparse.h +++ b/include/argparse.h @@ -681,10 +681,6 @@ namespace argparse auto consumable = args | std::views::drop_while([](auto const & token) { - if (token.m_token == "--") - { - return false; - } return token.m_consumed; }) | std::views::filter([&past_pseudo_arg](auto const & token)