summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Phillip Wood <phillip.wood@dunelm.org.uk>2018-02-13 10:32:39 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-02-13 13:01:56 -0800
commit01a6966021a50dc7aff76c0f951bbdd6e1bdd444 (patch)
tree8c4db6eca1404a7faede18942b1862554d87ba87
parentFirst batch after 2.16 (diff)
downloadtgif-01a6966021a50dc7aff76c0f951bbdd6e1bdd444.tar.xz
add -p: only display help for active keys
If the user presses a key that add -p wasn't expecting then it prints a list of key bindings. Although the prompt only lists the active bindings the help was printed for all bindings. Fix this by using the list of keys in the prompt to filter the help. Note that the list of keys was already passed to help_patch_cmd() by the caller so there is no change needed to the call site. Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-add--interactive.perl8
1 files changed, 7 insertions, 1 deletions
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 964c3a7542..76b941f8f0 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -1184,7 +1184,13 @@ d - do not apply this hunk or any of the later hunks in the file"),
);
sub help_patch_cmd {
- print colored $help_color, __($help_patch_modes{$patch_mode}), "\n", __ <<EOF ;
+ local $_;
+ my $other = $_[0] . ",/,?";
+ print colored $help_color, __($help_patch_modes{$patch_mode}), "\n",
+ map { "$_\n" } grep {
+ my $c = quotemeta(substr($_, 0, 1));
+ $other =~ /,$c/
+ } split "\n", __ <<EOF ;
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk