mirror of
https://github.com/hyprwm/hyprutils.git
synced 2025-12-20 02:20:16 +01:00
cli/argumentParser: improve formatting of description
This commit is contained in:
parent
5e1a14bc29
commit
0168583075
2 changed files with 16 additions and 12 deletions
|
|
@ -253,12 +253,16 @@ std::string CArgumentParserImpl::getDescription(const std::string_view& header,
|
|||
rolling += pad(maxArgWidth - lenUsed);
|
||||
lenUsed = maxArgWidth;
|
||||
|
||||
rolling += " -" + v.abbrev;
|
||||
lenUsed += 2 + v.abbrev.size();
|
||||
rolling += " ";
|
||||
rolling += TYPE_STRS[v.argType];
|
||||
lenUsed += std::string_view{TYPE_STRS[v.argType]}.length() + 1;
|
||||
rolling += pad(maxArgWidth + maxShortWidth - lenUsed);
|
||||
if (!v.abbrev.empty()) {
|
||||
rolling += " -" + v.abbrev;
|
||||
lenUsed += 2 + v.abbrev.size();
|
||||
|
||||
rolling += " ";
|
||||
rolling += TYPE_STRS[v.argType];
|
||||
lenUsed += std::string_view{TYPE_STRS[v.argType]}.length() + 1;
|
||||
rolling += pad(maxArgWidth + maxShortWidth - lenUsed);
|
||||
} else
|
||||
rolling += pad(maxShortWidth);
|
||||
lenUsed = maxArgWidth + maxShortWidth;
|
||||
|
||||
rolling += " | ";
|
||||
|
|
@ -275,7 +279,7 @@ std::string CArgumentParserImpl::getDescription(const std::string_view& header,
|
|||
|
||||
for (size_t i = 1; i < ROWS.size(); ++i) {
|
||||
lenUsed = LEN_START_DESC;
|
||||
rolling += "┣";
|
||||
rolling += "┃";
|
||||
rolling += pad(LEN_START_DESC);
|
||||
rolling += ROWS[i];
|
||||
lenUsed += ROWS[i].size();
|
||||
|
|
|
|||
|
|
@ -10,12 +10,12 @@ using namespace Hyprutils;
|
|||
constexpr const char* DESC_TEST = R"#(┏ My description
|
||||
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┣ --hello -h | Says hello ┃
|
||||
┣ --hello2 -e | Says hello 2 ┃
|
||||
┣ --hello2 | Says hello 2 ┃
|
||||
┣ --value -v [float] | Sets a valueeeeeee ┃
|
||||
┣ --longlonglonglongintopt -l [int] | Long long ┃
|
||||
┣ maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa┃
|
||||
┣ aaaaaaaaaaan maaan man maaan man maaan ┃
|
||||
┣ man maaan man ┃
|
||||
┃ maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa┃
|
||||
┃ aaaaaaaaaaan maaan man maaan man maaan ┃
|
||||
┃ man maaan man ┃
|
||||
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||
)#";
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ TEST(CLI, ArgumentParser) {
|
|||
CArgumentParser parser(argv);
|
||||
|
||||
EXPECT_TRUE(parser.registerBoolOption("hello", "h", "Says hello"));
|
||||
EXPECT_TRUE(parser.registerBoolOption("hello2", "e", "Says hello 2"));
|
||||
EXPECT_TRUE(parser.registerBoolOption("hello2", "", "Says hello 2"));
|
||||
EXPECT_TRUE(parser.registerFloatOption("value", "v", "Sets a valueeeeeee"));
|
||||
EXPECT_TRUE(parser.registerIntOption("longlonglonglongintopt", "l", "Long long maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaan maaan man maaan man maaan man maaan man"));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue