Commit bd67a953b24bc2bf03e65c09204100d094e40d8b
1 parent
1933a21a
Tighten up syntax from recent PR a bit
Showing
1 changed file
with
9 additions
and
17 deletions
include/CLI/App.hpp
| ... | ... | @@ -2023,27 +2023,19 @@ namespace FailureMessage { |
| 2023 | 2023 | |
| 2024 | 2024 | /// Printout a clean, simple message on error (the default in CLI11 1.5+) |
| 2025 | 2025 | inline std::string simple(const App *app, const Error &e) { |
| 2026 | - const bool has_help = app->get_help_ptr() != nullptr; | |
| 2027 | - const bool has_help_all = app->get_help_all_ptr() != nullptr; | |
| 2028 | - | |
| 2029 | 2026 | std::string header = std::string(e.what()) + "\n"; |
| 2027 | + std::vector<std::string> names; | |
| 2030 | 2028 | |
| 2031 | - if(has_help || has_help_all) { | |
| 2032 | - header += "Run with "; | |
| 2033 | - | |
| 2034 | - if(has_help) { | |
| 2035 | - header += app->get_help_ptr()->get_name(); | |
| 2036 | - } | |
| 2029 | + // Collect names | |
| 2030 | + if(app->get_help_ptr() != nullptr) | |
| 2031 | + names.push_back(app->get_help_ptr()->get_name()); | |
| 2037 | 2032 | |
| 2038 | - if(has_help_all) { | |
| 2039 | - if(has_help) { | |
| 2040 | - header += " or "; | |
| 2041 | - } | |
| 2042 | - header += app->get_help_all_ptr()->get_name(); | |
| 2043 | - } | |
| 2033 | + if(app->get_help_all_ptr() != nullptr) | |
| 2034 | + names.push_back(app->get_help_all_ptr()->get_name()); | |
| 2044 | 2035 | |
| 2045 | - header += " for more information.\n"; | |
| 2046 | - } | |
| 2036 | + // If any names found, suggest those | |
| 2037 | + if(!names.empty()) | |
| 2038 | + header += "Run with " + detail::join(names, " or ") + " for more information.\n"; | |
| 2047 | 2039 | |
| 2048 | 2040 | return header; |
| 2049 | 2041 | } | ... | ... |