From ddb2d0bf106bf2035efd897f0a58fb985cd8cb4a Mon Sep 17 00:00:00 2001 From: killua Date: Mon, 16 Mar 2026 18:46:47 +0400 Subject: [PATCH] feat: add help command to linux and macos parsers. --- src/headers/parser/platform_headers/linux_parser.hpp | 1 + src/headers/parser/platform_headers/macos_parser.hpp | 1 + src/source/parser/platform_parsers/linux_parser.cpp | 8 ++++++++ src/source/parser/platform_parsers/macos_parser.cpp | 8 ++++++++ 4 files changed, 18 insertions(+) diff --git a/src/headers/parser/platform_headers/linux_parser.hpp b/src/headers/parser/platform_headers/linux_parser.hpp index ff16822..9d9e4cd 100644 --- a/src/headers/parser/platform_headers/linux_parser.hpp +++ b/src/headers/parser/platform_headers/linux_parser.hpp @@ -17,6 +17,7 @@ namespace argument_parser { class linux_parser : public v2::base_parser { public: linux_parser(); + using base_parser::display_help; }; } // namespace v2 } // namespace argument_parser diff --git a/src/headers/parser/platform_headers/macos_parser.hpp b/src/headers/parser/platform_headers/macos_parser.hpp index f63c2f5..5703ab5 100644 --- a/src/headers/parser/platform_headers/macos_parser.hpp +++ b/src/headers/parser/platform_headers/macos_parser.hpp @@ -18,6 +18,7 @@ namespace argument_parser { class macos_parser : public v2::base_parser { public: macos_parser(); + using base_parser::display_help; }; } // namespace v2 } // namespace argument_parser diff --git a/src/source/parser/platform_parsers/linux_parser.cpp b/src/source/parser/platform_parsers/linux_parser.cpp index 2f7eff0..7d56d53 100644 --- a/src/source/parser/platform_parsers/linux_parser.cpp +++ b/src/source/parser/platform_parsers/linux_parser.cpp @@ -24,6 +24,14 @@ namespace argument_parser { for (std::string line; std::getline(command_line_file, line, '\0');) { parsed_arguments.emplace_back(line); } + + add_argument({{flags::ShortArgument, "h"}, + {flags::LongArgument, "help"}, + {flags::Action, helpers::make_non_parametered_action([this]() { + this->display_help(this->current_conventions()); + std::exit(0); + })}, + {flags::HelpText, "Prints this help text."}}); } } // namespace v2 } // namespace argument_parser diff --git a/src/source/parser/platform_parsers/macos_parser.cpp b/src/source/parser/platform_parsers/macos_parser.cpp index b869077..22ede10 100644 --- a/src/source/parser/platform_parsers/macos_parser.cpp +++ b/src/source/parser/platform_parsers/macos_parser.cpp @@ -24,6 +24,14 @@ namespace argument_parser { ref_parsed_args().emplace_back(argv[i]); } } + + add_argument({{flags::ShortArgument, "h"}, + {flags::LongArgument, "help"}, + {flags::Action, helpers::make_non_parametered_action([this]() { + this->display_help(this->current_conventions()); + std::exit(0); + })}, + {flags::HelpText, "Prints this help text."}}); } } // namespace v2 } // namespace argument_parser