فهرست منبع

LibCore: Add `ArgsParser::add_positional_argument(Vector<String>&, ...)`

Sam Atkins 3 سال پیش
والد
کامیت
3e5b1b1dbc
2فایلهای تغییر یافته به همراه16 افزوده شده و 0 حذف شده
  1. 15 0
      Userland/Libraries/LibCore/ArgsParser.cpp
  2. 1 0
      Userland/Libraries/LibCore/ArgsParser.h

+ 15 - 0
Userland/Libraries/LibCore/ArgsParser.cpp

@@ -676,6 +676,21 @@ void ArgsParser::add_positional_argument(Vector<char const*>& values, char const
     add_positional_argument(move(arg));
 }
 
+void ArgsParser::add_positional_argument(Vector<String>& values, char const* help_string, char const* name, Required required)
+{
+    Arg arg {
+        help_string,
+        name,
+        required == Required::Yes ? 1 : 0,
+        INT_MAX,
+        [&values](char const* s) {
+            values.append(s);
+            return true;
+        }
+    };
+    add_positional_argument(move(arg));
+}
+
 void ArgsParser::add_positional_argument(Vector<StringView>& values, char const* help_string, char const* name, Required required)
 {
     Arg arg {

+ 1 - 0
Userland/Libraries/LibCore/ArgsParser.h

@@ -98,6 +98,7 @@ public:
     void add_positional_argument(unsigned& value, char const* help_string, char const* name, Required required = Required::Yes);
     void add_positional_argument(double& value, char const* help_string, char const* name, Required required = Required::Yes);
     void add_positional_argument(Vector<char const*>& value, char const* help_string, char const* name, Required required = Required::Yes);
+    void add_positional_argument(Vector<String>& value, char const* help_string, char const* name, Required required = Required::Yes);
     void add_positional_argument(Vector<StringView>& value, char const* help_string, char const* name, Required required = Required::Yes);
 
 private: