From 695cdf7bc054826b1abbf797b7c100fb26dad51c Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 29 Apr 2021 11:10:06 +0200 Subject: [PATCH] LibCore: Support Vector positional arguments We already supported Vector, so let's add Vector as well. :^) --- Userland/Libraries/LibCore/ArgsParser.cpp | 15 +++++++++++++++ Userland/Libraries/LibCore/ArgsParser.h | 1 + 2 files changed, 16 insertions(+) diff --git a/Userland/Libraries/LibCore/ArgsParser.cpp b/Userland/Libraries/LibCore/ArgsParser.cpp index d5d11066f3..c942c60695 100644 --- a/Userland/Libraries/LibCore/ArgsParser.cpp +++ b/Userland/Libraries/LibCore/ArgsParser.cpp @@ -400,4 +400,19 @@ void ArgsParser::add_positional_argument(Vector& values, const char add_positional_argument(move(arg)); } +void ArgsParser::add_positional_argument(Vector& values, const char* help_string, const char* name, Required required) +{ + Arg arg { + help_string, + name, + required == Required::Yes ? 1 : 0, + INT_MAX, + [&values](const char* s) { + values.append(s); + return true; + } + }; + add_positional_argument(move(arg)); +} + } diff --git a/Userland/Libraries/LibCore/ArgsParser.h b/Userland/Libraries/LibCore/ArgsParser.h index a8cc84314c..944ba5a78f 100644 --- a/Userland/Libraries/LibCore/ArgsParser.h +++ b/Userland/Libraries/LibCore/ArgsParser.h @@ -64,6 +64,7 @@ public: void add_positional_argument(int& value, const char* help_string, const char* name, Required required = Required::Yes); void add_positional_argument(double& value, const char* help_string, const char* name, Required required = Required::Yes); void add_positional_argument(Vector& value, const char* help_string, const char* name, Required required = Required::Yes); + void add_positional_argument(Vector& value, const char* help_string, const char* name, Required required = Required::Yes); private: Vector