Commit 2e157e98812ecf3a812d60f629044c38b5446b81

Authored by Pavel Medvedev
1 parent 774d455d

Skip empty lines in option groups help

Also use single character \n for end of line instead of string literal.
Showing 1 changed file with 9 additions and 8 deletions
src/cxxopts.hpp
... ... @@ -884,7 +884,7 @@ namespace cxxopts
884 884  
885 885 if (o.has_default)
886 886 {
887   - desc += toLocalString(" (default:" + o.default_value + ")");
  887 + desc += toLocalString(" (default: " + o.default_value + ")");
888 888 }
889 889  
890 890 String result;
... ... @@ -1276,7 +1276,7 @@ Options::help_one_group(const std::string& g) const
1276 1276  
1277 1277 if (!g.empty())
1278 1278 {
1279   - result += toLocalString(" " + g + " options:\n\n");
  1279 + result += toLocalString(" " + g + " options:\n");
1280 1280 }
1281 1281  
1282 1282 for (const auto& o : group->second.options)
... ... @@ -1299,7 +1299,7 @@ Options::help_one_group(const std::string& g) const
1299 1299 result += fiter->first;
1300 1300 if (stringLength(fiter->first) > longest)
1301 1301 {
1302   - result += "\n";
  1302 + result += '\n';
1303 1303 result += toLocalString(std::string(longest + OPTION_DESC_GAP, ' '));
1304 1304 }
1305 1305 else
... ... @@ -1309,7 +1309,7 @@ Options::help_one_group(const std::string& g) const
1309 1309 ' '));
1310 1310 }
1311 1311 result += d;
1312   - result += "\n";
  1312 + result += '\n';
1313 1313  
1314 1314 ++fiter;
1315 1315 }
... ... @@ -1320,15 +1320,16 @@ Options::help_one_group(const std::string& g) const
1320 1320 std::string
1321 1321 Options::help(const std::vector<std::string>& groups) const
1322 1322 {
1323   - String result = "Usage:\n " + toLocalString(m_program) + " [OPTION...]"
1324   - + m_help_string + "\n\n";
  1323 + String result = m_help_string + "\nUsage:\n " + toLocalString(m_program) + " [OPTION...]\n\n";
1325 1324  
1326 1325 for (std::size_t i = 0; i < groups.size(); ++i)
1327 1326 {
1328   - result += help_one_group(groups[i]);
  1327 + String const& group_help = help_one_group(groups[i]);
  1328 + if (group_help.empty()) continue;
  1329 + result += group_help;
1329 1330 if (i < groups.size() - 1)
1330 1331 {
1331   - result += "\n";
  1332 + result += '\n';
1332 1333 }
1333 1334 }
1334 1335  
... ...