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

[PATCH 4/4] add -p: print errors in help colors

From
Thomas Rast <trast@student.ethz.ch>
Date
Feb 2, 2009, 21:46 UTC
Message-ID
<1233611191-18590-5-git-send-email-trast@student.ethz.ch>
In-Reply-To
<1233611191-18590-4-git-send-email-trast@student.ethz.ch>

Print the error messages that go to STDERR in color.interactive.help. While it's not really help text, the command help also pops up if an unknown command was entered (which is an error), and it lets them stand out nicely.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
---
 git-add--interactive.perl |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 3aa21db..fe8f364 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -908,6 +908,10 @@ sub display_hunks {
 	return $i;
 }
 
+sub help_msg {
+	print STDERR colored $help_color, @_;
+}
+
 sub patch_update_file {
 	my ($ix, $num);
 	my $path = shift;
@@ -1029,11 +1033,11 @@ sub patch_update_file {
 					chomp $response;
 				}
 				if ($response !~ /^\s*\d+\s*$/) {
-					print STDERR "Invalid number: '$response'\n";
+					help_msg "Invalid number: '$response'\n";
 				} elsif (0 < $response && $response <= $num) {
 					$ix = $response - 1;
 				} else {
-					print STDERR "Sorry, only $num hunks available.\n";
+					help_msg "Sorry, only $num hunks available.\n";
 				}
 				next;
 			}
@@ -1062,7 +1066,7 @@ sub patch_update_file {
 				if ($@) {
 					my ($err,$exp) = ($@, $1);
 					$err =~ s/ at .*git-add--interactive line \d+, <STDIN> line \d+.*$//;
-					print STDERR "Malformed search regexp $exp: $err\n";
+					help_msg "Malformed search regexp $exp: $err\n";
 					next;
 				}
 				my $iy = $ix;
@@ -1072,7 +1076,7 @@ sub patch_update_file {
 					$iy++;
 					$iy = 0 if ($iy >= $num);
 					if ($ix == $iy) {
-						print STDERR "No hunk matches the given pattern\n";
+						help_msg "No hunk matches the given pattern\n";
 						last;
 					}
 				}
@@ -1084,7 +1088,7 @@ sub patch_update_file {
 					$ix--;
 				}
 				else {
-					print STDERR "No previous hunk\n";
+					help_msg "No previous hunk\n";
 				}
 				next;
 			}
@@ -1093,7 +1097,7 @@ sub patch_update_file {
 					$ix++;
 				}
 				else {
-					print STDERR "No next hunk\n";
+					help_msg "No next hunk\n";
 				}
 				next;
 			}
@@ -1106,13 +1110,13 @@ sub patch_update_file {
 					}
 				}
 				else {
-					print STDERR "No previous hunk\n";
+					help_msg "No previous hunk\n";
 				}
 				next;
 			}
 			elsif ($line =~ /^j/) {
 				if ($other !~ /j/) {
-					print STDERR "No next hunk\n";
+					help_msg "No next hunk\n";
 					next;
 				}
 			}
-- 
1.6.1.2.513.g04677
Previous: Thomas RastNext: Jeff King
Message 5 of 13 in “add -p: Term::ReadKey and more”
  1. 0/4 add -p: Term::ReadKey and moreThomas Rast, Feb 2, 2009
  2. 1/4 add -p: change prompt separator for 'g'Thomas Rast, Feb 2, 2009
  3. 2/4 add -p: trap Ctrl-D in 'goto' modeThomas Rast, Feb 2, 2009
  4. 3/4 add -p: optionally prompt for single charactersThomas Rast, Feb 2, 2009
  5. 4/4 add -p: print errors in help colorsThomas Rast, Feb 2, 2009
  6. Jeff KingFeb 3, 2009
  7. add -i: accept single-keypress inputThomas Rast, Feb 3, 2009
  8. Junio C HamanoFeb 3, 2009
  9. Thomas RastFeb 3, 2009
  10. Junio C HamanoFeb 4, 2009
  11. Thomas RastFeb 4, 2009
  12. Thomas RastFeb 4, 2009
  13. Junio C HamanoFeb 4, 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.