From 744beefe0e58bbcd243d6b14bfe4e98ce57d7056 Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Mon, 26 Nov 2018 00:16:05 +0800 Subject: [PATCH] improve help format --- .../core/util/usage/StyledUsageFormatter.java | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/com/taobao/arthas/core/util/usage/StyledUsageFormatter.java b/core/src/main/java/com/taobao/arthas/core/util/usage/StyledUsageFormatter.java index 991a6bf4c..d3e5f6d05 100644 --- a/core/src/main/java/com/taobao/arthas/core/util/usage/StyledUsageFormatter.java +++ b/core/src/main/java/com/taobao/arthas/core/util/usage/StyledUsageFormatter.java @@ -7,6 +7,7 @@ import com.taobao.middleware.cli.UsageMessageFormatter; import com.taobao.text.Color; import com.taobao.text.Decoration; import com.taobao.text.Style; +import com.taobao.text.ui.RowElement; import com.taobao.text.ui.TableElement; import com.taobao.text.util.RenderUtil; @@ -63,16 +64,31 @@ public class StyledUsageFormatter extends UsageMessageFormatter { if (!cli.getOptions().isEmpty() || !cli.getArguments().isEmpty()) { table.add(row().add("")); table.row(label("OPTIONS:").style(getHighlightedStyle())); - for (Option option: cli.getOptions()) { - if (option.acceptValue()) { - table.add(row().add(label("-" + option.getShortName() + ", --" + option.getLongName() + " ") - .style(getHighlightedStyle())) - .add(option.getDescription())); + for (Option option : cli.getOptions()) { + StringBuilder optionSb = new StringBuilder(32); + + // short name + if (isNullOrEmpty(option.getShortName())) { + optionSb.append(" "); } else { - table.add(row().add(label("-" + option.getShortName() + ", --" + option.getLongName()) - .style(getHighlightedStyle())) - .add(option.getDescription())); + optionSb.append('-').append(option.getShortName()); + if (isNullOrEmpty(option.getLongName())) { + optionSb.append(' '); + } else { + optionSb.append(','); + } } + // long name + if (!isNullOrEmpty(option.getLongName())) { + optionSb.append(" --").append(option.getLongName()); + } + + if (option.acceptValue()) { + optionSb.append(" "); + } + + table.add(row().add(label(optionSb.toString()).style(getHighlightedStyle())) + .add(option.getDescription())); } for (Argument argument: cli.getArguments()) {