From: Stephen Boyd Date: Sat, 14 Aug 2010 10:33:33 GMT Subject: Re: [PATCH] Highlight every 5th line for add -i Message-ID: <4C6670FD.9010100@gmail.com> In-Reply-To: <1281703569-8833-1-git-send-email-ciaran.mccreesh@googlemail.com> On 08/13/2010 05:46 AM, Ciaran McCreesh wrote: > It's easier to match up numbers to filenames when there's lots of output > that way. Interesting. Maybe it would be better to reorganize the listing so that the number is adjacent to the path name? For example: staged unstaged # path unchanged +5/-2 1: git-add--interactive.perl unchanged +100/-2 2: builtin/log.c unchanged +49/-2 3: builtin/add.c unchanged +0/-60 4: git.c unchanged +5/-2 5: help.c I'm mostly concerned that the highlighting (boldening?) is going to be confused with selection. Patch below (I'm sure someone more versed in perl can do it better). --->8----8<--- diff --git a/git-add--interactive.perl b/git-add--interactive.perl index 27fc793..002122d 100755 --- a/git-add--interactive.perl +++ b/git-add--interactive.perl @@ -225,8 +225,8 @@ sub list_untracked { run_cmd_pipe(qw(git ls-files --others --exclude-standard --), @ARGV); } -my $status_fmt = '%12s %12s %s'; -my $status_head = sprintf($status_fmt, 'staged', 'unstaged', 'path'); +my $status_fmt = '%12s %12s %4s%s %s'; +my $status_head = sprintf($status_fmt, 'staged', 'unstaged', '#', ' ', 'path'); { my $initial; @@ -488,7 +488,7 @@ sub list_and_choose { if ($opts->{HEADER}) { if (!$opts->{LIST_FLAT}) { - print " "; + print " "; } print colored $header_color, "$opts->{HEADER}\n"; } @@ -506,12 +506,14 @@ sub list_and_choose { $print = sprintf($status_fmt, $print->{INDEX}, $print->{FILE}, + $i + 1, + ":", $value); } else { $print = $highlighted || $print; } - printf("%s%2d: %s", $chosen, $i+1, $print); + printf("%s%s", $chosen, $print); if (($opts->{LIST_FLAT})&& (($i + 1) % ($opts->{LIST_FLAT}))) { print "\t";