From 6195a76da4b0c58b320d8f7c3485ee51b0f2a8e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Thu, 31 Jan 2019 16:23:49 +0700 Subject: [PATCH] help: align the longest command in the command listing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "longest" is used to determine how many extra spaces we need to print to keep the command description aligned. For the longest command, we should print no extra space instead of one, or we'll get unaligned output like this (notice the "checkout" line): grow, mark and tweak your common history branch List, create, or delete branches checkout Switch branches or restore working tree files commit Record changes to the repository diff Show changes between commits, commit and ... merge Join two or more development histories together rebase Reapply commits on top of another base tip tag Create, list, delete or verify a tag ... Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Junio C Hamano --- help.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/help.c b/help.c index ff05fd22df..520c9080e8 100644 --- a/help.c +++ b/help.c @@ -85,7 +85,8 @@ static void print_command_list(const struct cmdname_help *cmds, if (cmds[i].category & mask) { size_t len = strlen(cmds[i].name); printf(" %s ", cmds[i].name); - mput_char(' ', longest > len ? longest - len : 1); + if (longest > len) + mput_char(' ', longest - len); puts(_(cmds[i].help)); } }