Web lists-archives.com

Re: [PATCH] help: align the longest command in the command listing




Hi Duy,

On Thu, 31 Jan 2019, Nguyễn Thái Ngọc Duy wrote:

> "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 <pclouds@xxxxxxxxx>
> ---
>  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);

Why not simply replace the `1` by `0`?

Ciao,
Dscho

>  			puts(_(cmds[i].help));
>  		}
>  	}
> -- 
> 2.20.1.682.gd5861c6d90
> 
>