mirror of
https://github.com/sametersoylu/argument-parser.git
synced 2026-07-14 09:38:11 +00:00
feat: parser settings.
This commit is contained in:
@@ -6,13 +6,16 @@
|
||||
|
||||
#define MACOS_GETARGS_LOOP(argc_name, argv_name, before_for, for_body) \
|
||||
do { \
|
||||
const int (argc_name) = *_NSGetArgc(); \
|
||||
if (char **(argv_name) = *_NSGetArgv(); (argc_name) > 0 && (argv_name) != nullptr && (argv_name)[0] != nullptr) { \
|
||||
const int(argc_name) = *_NSGetArgc(); \
|
||||
if (char **(argv_name) = *_NSGetArgv(); \
|
||||
(argc_name) > 0 && (argv_name) != nullptr && (argv_name)[0] != nullptr) { \
|
||||
do { \
|
||||
(before_for); \
|
||||
(before_for); \
|
||||
} while (false); \
|
||||
for (int i = 1; i < (argc_name); ++i) { \
|
||||
{for_body} \
|
||||
for (int i = 1; i < (argc_name); ++i) { \
|
||||
{ \
|
||||
for_body \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
} while (false)
|
||||
@@ -26,12 +29,13 @@ namespace argument_parser {
|
||||
}
|
||||
|
||||
namespace v2 {
|
||||
macos_parser::macos_parser(const bool should_exit) {
|
||||
macos_parser::macos_parser(parser_settings const &settings) {
|
||||
MACOS_GETARGS_LOOP(argc, argv, set_program_name(argv[0]), {
|
||||
if (argv[i] != nullptr)
|
||||
ref_parsed_args().emplace_back(argv[i]);
|
||||
});
|
||||
prepare_help_flag(should_exit);
|
||||
prepare_help_flag(settings.should_exit_on_help);
|
||||
set_settings(settings);
|
||||
}
|
||||
} // namespace v2
|
||||
} // namespace argument_parser
|
||||
|
||||
Reference in New Issue
Block a user