[PATCH] Highlight every 5th line for add -i

Subsystems: the rest

STALE3735d

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

[PATCH] Highlight every 5th line for add -i

From: Ciaran McCreesh <hidden>
Date: 2016-06-15 22:49:18

It's easier to match up numbers to filenames when there's lots of output
that way.
---
 git-add--interactive.perl |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 27fc793..542c29c 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -498,6 +498,7 @@ sub list_and_choose {
 			my $ref = ref $print;
 			my $highlighted = highlight_prefix(@{$prefixes[$i]})
 			    if @prefixes;
+			my $this_line_color = '';
 			if ($ref eq 'ARRAY') {
 				$print = $highlighted || $print->[0];
 			}
@@ -511,7 +512,10 @@ sub list_and_choose {
 			else {
 				$print = $highlighted || $print;
 			}
-			printf("%s%2d: %s", $chosen, $i+1, $print);
+			if ((! $opts->{LIST_FLAT}) && (($i + 1) % 5 == 0) && (@stuff >= 10)) {
+				$this_line_color = $header_color;
+			}
+			printf("%s%s%2d: %s%s", $chosen, $this_line_color, $i+1, $print, $normal_color);
 			if (($opts->{LIST_FLAT}) &&
 			    (($i + 1) % ($opts->{LIST_FLAT}))) {
 				print "\t";
-- 
1.7.2

Re: [PATCH] Highlight every 5th line for add -i

From: Stephen Boyd <hidden>
Date: 2016-06-15 22:49:19

  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";

Re: [PATCH] Highlight every 5th line for add -i

From: Ciaran McCreesh <hidden>
Date: 2016-06-15 22:49:19

On Sat, 14 Aug 2010 03:33:33 -0700
Stephen Boyd [off-list ref] wrote:
  On 08/13/2010 05:46 AM, Ciaran McCreesh wrote:
quoted
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.
That's also good for me. I don't have any particular preference or
opinions on which is clearer.

-- 
Ciaran McCreesh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help