From: Suraj N. Kurapati Date: Wed, 05 Nov 2008 06:15:23 GMT Subject: [PATCH/RFC] git-add--interactive.perl: Answer questions with a single keypress Message-ID: <200811042215.31147.sunaku@gmail.com> From aef6df163b90b9485da1f97a14ffab6d8de9b047 Mon Sep 17 00:00:00 2001 From: Suraj N. Kurapati Date: Tue, 4 Nov 2008 20:32:34 -0800 Subject: [PATCH] git-add--interactive.perl: Answer questions with a single keypress Allows the user to answer 'Stage this hunk' questions with a single keypress, just like in Darcs. Previously, the user was forced to press the Return key after every choice, which quickly becomes tiring and burdensome work for the fingers. Signed-off-by: Suraj N. Kurapati --- 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 b0223c3..1a22968 100755 --- a/git-add--interactive.perl +++ b/git-add--interactive.perl @@ -877,6 +877,7 @@ sub patch_update_file { $num = scalar @hunk; $ix = 0; + require Term::ReadKey; while (1) { my ($prev, $next, $other, $undecided, $i); $other = ''; @@ -920,7 +921,10 @@ sub patch_update_file { print; } print colored $prompt_color, "Stage this hunk [y/n/a/d$other/?]? "; - my $line = ; + + Term::ReadKey::ReadMode('raw'); + my $line = Term::ReadKey::ReadKey(0); + Term::ReadKey::ReadMode('restore'); if ($line) { if ($line =~ /^y/i) { $hunk[$ix]{USE} = 1; -- 1.6.0.3