On Wed, Feb 8, 2023 at 8:12 AM Torsten Bögershausen <tboegi@xxxxxx> wrote: > > On Tue, Feb 07, 2023 at 03:52:38PM -0800, Kir Kolyshkin wrote: > > Currently, git remote -v produces a misaligned output when a remote name > > is more than 8 characters long (i.e. longer than a tab step). Here's how > > it looks like: > > > > giuseppe https://github.com/giuseppe/runc (fetch) > > giuseppe https://github.com/giuseppe/runc (push) > > kir git@xxxxxxxxxx:kolyshkin/runc.git (fetch) > > kir git@xxxxxxxxxx:kolyshkin/runc.git (push) > > lifubang https://github.com/lifubang/runc (fetch) > > lifubang https://github.com/lifubang/runc (push) > > marquiz https://github.com/marquiz/runc (fetch) > > marquiz https://github.com/marquiz/runc (push) > > > > Let's find the maximum width and use it for alignment. > > > > While at it, let's keep the \t in case some tools depend on it > > for parsing (there will still be trailing spaces in the remote name). > > > > With this change, the output is like this now: > > > > giuseppe https://github.com/giuseppe/runc (fetch) > > giuseppe https://github.com/giuseppe/runc (push) > > kir git@xxxxxxxxxx:kolyshkin/runc.git (fetch) > > kir git@xxxxxxxxxx:kolyshkin/runc.git (push) > > lifubang https://github.com/lifubang/runc (fetch) > > lifubang https://github.com/lifubang/runc (push) > > marquiz https://github.com/marquiz/runc (fetch) > > marquiz https://github.com/marquiz/runc (push) > > > > Thanks for working on that - I had the same wish as well. > However, I am tempted to comment on some details here. > Especially, what happens if a remote is named with a non-ASCII > character (unicode code point would be a better term) ? > To determine the width on screen for aligment, strlen() > does the wrong thing here. > This has been done at other place (being UTF-8 aware), > you may want to have a look at this change: > > commit 12fc4ad89e23af642a8614371ff80bc67cb3315d > Author: Torsten Bögershausen <tboegi@xxxxxx> > Date: Wed Sep 14 17:13:33 2022 +0200 > > diff.c: use utf8_strwidth() to count display width Yes, I have seen now that neither strlen nor printf with the specified width do a good job with unicode. Thank you for pointing this out, I'll send v2 soon.