mirror of
https://github.com/hyprwm/hyprutils.git
synced 2025-12-20 05:50:11 +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);
|
rolling += pad(maxArgWidth - lenUsed);
|
||||||
lenUsed = maxArgWidth;
|
lenUsed = maxArgWidth;
|
||||||
|
|
||||||
rolling += " -" + v.abbrev;
|
if (!v.abbrev.empty()) {
|
||||||
lenUsed += 2 + v.abbrev.size();
|
rolling += " -" + v.abbrev;
|
||||||
rolling += " ";
|
lenUsed += 2 + v.abbrev.size();
|
||||||
rolling += TYPE_STRS[v.argType];
|
|
||||||
lenUsed += std::string_view{TYPE_STRS[v.argType]}.length() + 1;
|
rolling += " ";
|
||||||
rolling += pad(maxArgWidth + maxShortWidth - lenUsed);
|
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;
|
lenUsed = maxArgWidth + maxShortWidth;
|
||||||
|
|
||||||
rolling += " | ";
|
rolling += " | ";
|
||||||
|
|
@ -275,7 +279,7 @@ std::string CArgumentParserImpl::getDescription(const std::string_view& header,
|
||||||
|
|
||||||
for (size_t i = 1; i < ROWS.size(); ++i) {
|
for (size_t i = 1; i < ROWS.size(); ++i) {
|
||||||
lenUsed = LEN_START_DESC;
|
lenUsed = LEN_START_DESC;
|
||||||
rolling += "┣";
|
rolling += "┃";
|
||||||
rolling += pad(LEN_START_DESC);
|
rolling += pad(LEN_START_DESC);
|
||||||
rolling += ROWS[i];
|
rolling += ROWS[i];
|
||||||
lenUsed += ROWS[i].size();
|
lenUsed += ROWS[i].size();
|
||||||
|
|
|
||||||
|
|
@ -10,12 +10,12 @@ using namespace Hyprutils;
|
||||||
constexpr const char* DESC_TEST = R"#(┏ My description
|
constexpr const char* DESC_TEST = R"#(┏ My description
|
||||||
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||||
┣ --hello -h | Says hello ┃
|
┣ --hello -h | Says hello ┃
|
||||||
┣ --hello2 -e | Says hello 2 ┃
|
┣ --hello2 | Says hello 2 ┃
|
||||||
┣ --value -v [float] | Sets a valueeeeeee ┃
|
┣ --value -v [float] | Sets a valueeeeeee ┃
|
||||||
┣ --longlonglonglongintopt -l [int] | Long long ┃
|
┣ --longlonglonglongintopt -l [int] | Long long ┃
|
||||||
┣ maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa┃
|
┃ maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa┃
|
||||||
┣ aaaaaaaaaaan maaan man maaan man maaan ┃
|
┃ aaaaaaaaaaan maaan man maaan man maaan ┃
|
||||||
┣ man maaan man ┃
|
┃ man maaan man ┃
|
||||||
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
||||||
)#";
|
)#";
|
||||||
|
|
||||||
|
|
@ -25,7 +25,7 @@ TEST(CLI, ArgumentParser) {
|
||||||
CArgumentParser parser(argv);
|
CArgumentParser parser(argv);
|
||||||
|
|
||||||
EXPECT_TRUE(parser.registerBoolOption("hello", "h", "Says hello"));
|
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.registerFloatOption("value", "v", "Sets a valueeeeeee"));
|
||||||
EXPECT_TRUE(parser.registerIntOption("longlonglonglongintopt", "l", "Long long maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaan maaan man maaan man maaan man maaan man"));
|
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