git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/3] git-add -i/-p: Change prompt separater from slash to comma

From
William Pursell <bill.pursell@gmail.com>
Date
Feb 2, 2009, 07:39 UTC
Message-ID
<4986A334.6070903@gmail.com>
In-Reply-To
<1233546159-30347-2-git-send-email-gitster@pobox.com>
Junio C Hamano wrote:
Show 58 quoted lines
> From: William Pursell <bill.pursell@gmail.com>
> 
> Otherwise the find command '/' soon to be introduced will be hard to see.
> 
> Signed-off-by: William Pursell <bill.pursell@gmail.com>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  git-add--interactive.perl |   14 +++++++-------
>  1 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/git-add--interactive.perl b/git-add--interactive.perl
> index ca60356..ca50363 100755
> --- a/git-add--interactive.perl
> +++ b/git-add--interactive.perl
> @@ -929,22 +929,22 @@ sub patch_update_file {
>  		for ($i = 0; $i < $ix; $i++) {
>  			if (!defined $hunk[$i]{USE}) {
>  				$prev = 1;
> -				$other .= '/k';
> +				$other .= ',k';
>  				last;
>  			}
>  		}
>  		if ($ix) {
> -			$other .= '/K';
> +			$other .= ',K';
>  		}
>  		for ($i = $ix + 1; $i < $num; $i++) {
>  			if (!defined $hunk[$i]{USE}) {
>  				$next = 1;
> -				$other .= '/j';
> +				$other .= ',j';
>  				last;
>  			}
>  		}
>  		if ($ix < $num - 1) {
> -			$other .= '/J';
> +			$other .= ',J';
>  		}
>  		if ($num > 1) {
>  			$other .= '/g';
> @@ -958,13 +958,13 @@ sub patch_update_file {
>  		last if (!$undecided);
>  
>  		if (hunk_splittable($hunk[$ix]{TEXT})) {
> -			$other .= '/s';
> +			$other .= ',s';
>  		}
> -		$other .= '/e';
> +		$other .= ',e';
>  		for (@{$hunk[$ix]{DISPLAY}}) {
>  			print;
>  		}
> -		print colored $prompt_color, "Stage this hunk [y/n/a/d$other/?]? ";
> +		print colored $prompt_color, "Stage this hunk [y,n,a,d$other,?]? ";
>  		my $line = <STDIN>;
>  		if ($line) {
>  			if ($line =~ /^y/i) {

Not a major complaint, but how about localizing the occurence of the separator. Something like this:

diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index ca60356..bd8326d 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -921,7 +921,7 @@ sub patch_update_file {

 	while (1) {
 		my ($prev, $next, $other, $undecided, $i);
-		$other = '';
+		$other = 'ynad';

 		if ($num <= $ix) {
 			$ix = 0;
@@ -929,25 +929,25 @@ sub patch_update_file {
 		for ($i = 0; $i < $ix; $i++) {
 			if (!defined $hunk[$i]{USE}) {
 				$prev = 1;
-				$other .= '/k';
+				$other .= 'k';
 				last;
 			}
 		}
 		if ($ix) {
-			$other .= '/K';
+			$other .= 'K';
 		}
 		for ($i = $ix + 1; $i < $num; $i++) {
 			if (!defined $hunk[$i]{USE}) {
 				$next = 1;
-				$other .= '/j';
+				$other .= 'j';
 				last;
 			}
 		}
 		if ($ix < $num - 1) {
-			$other .= '/J';
+			$other .= 'J';
 		}
 		if ($num > 1) {
-			$other .= '/g';
+			$other .= 'g';
 		}
 		for ($i = 0; $i < $num; $i++) {
 			if (!defined $hunk[$i]{USE}) {
@@ -958,13 +958,14 @@ sub patch_update_file {
 		last if (!$undecided);

 		if (hunk_splittable($hunk[$ix]{TEXT})) {
-			$other .= '/s';
+			$other .= 's';
 		}
-		$other .= '/e';
+		$other .= 'e';
 		for (@{$hunk[$ix]{DISPLAY}}) {
 			print;
 		}
-		print colored $prompt_color, "Stage this hunk [y/n/a/d$other/?]? ";
+		print colored $prompt_color, "Stage this hunk [" .
+			join(',', split("", $other)) . "]? ";
 		my $line = <STDIN>;
 		if ($line) {
 			if ($line =~ /^y/i) {
-- 
William Pursell
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 7 in “"add -p" enhancements”
  1. 0/3 "add -p" enhancementsJunio C Hamano, Feb 2, 2009
  2. 1/3 git-add -i/-p: Change prompt separater from slash to commaJunio C Hamano, Feb 2, 2009
  3. 2/3 Add / command in add --patchJunio C Hamano, Feb 2, 2009
  4. 3/3 In add --patch, Handle K,k,J,j slightly more gracefully.Junio C Hamano, Feb 2, 2009
  5. William PursellFeb 2, 2009
  6. Junio C HamanoFeb 2, 2009
  7. William PursellFeb 2, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.