From 3c83f5df0f7e13d2dbe8fd384b548e7a45f1c0e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atgeirr=20Fl=C3=B8=20Rasmussen?= Date: Fri, 16 Oct 2020 13:55:45 +0200 Subject: [PATCH] Add --help-all option that also prints hidden options. --- opm/models/utils/parametersystem.hh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/opm/models/utils/parametersystem.hh b/opm/models/utils/parametersystem.hh index d7a2180ac..51d7f24fd 100644 --- a/opm/models/utils/parametersystem.hh +++ b/opm/models/utils/parametersystem.hh @@ -513,7 +513,8 @@ void printParamList_(std::ostream& os, const std::list& keyList, bo template void printUsage(const std::string& helpPreamble, const std::string& errorMsg = "", - std::ostream& os = std::cerr) + std::ostream& os = std::cerr, + const bool showAll = false) { using ParamsMeta = GetProp; @@ -532,12 +533,15 @@ void printUsage(const std::string& helpPreamble, pInfo.paramName = "h,--help"; pInfo.usageString = "Print this help message and exit"; printParamUsage_(os, pInfo); + pInfo.paramName = "-help-all"; + pInfo.usageString = "Print all parameters, including obsolete, hidden and deprecated ones."; + printParamUsage_(os, pInfo); } auto paramIt = ParamsMeta::registry().begin(); const auto& paramEndIt = ParamsMeta::registry().end(); for (; paramIt != paramEndIt; ++paramIt) { - if (!paramIt->second.isHidden) + if (showAll || !paramIt->second.isHidden) printParamUsage_(os, paramIt->second); } } @@ -693,6 +697,10 @@ std::string parseCommandLineOptions(int argc, printUsage(helpPreamble, /*errorMsg=*/"", std::cout); return "Help called"; } + if (std::string("--help-all") == argv[i]) { + printUsage(helpPreamble, /*errorMsg=*/"", std::cout, true); + return "Help called"; + } } }