summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorBeat Bolli <dev+git@drbeat.li>2017-11-19 23:05:36 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-11-21 02:00:27 (GMT)
commit007d06aa57e673c95da583d2afa30bb14fb69e28 (patch)
treeff543b5032c1dadf71e39dbe8f5d8b0e3eac5921 /contrib
parent89ea799ffcc5c8a0547d3c9075eb979256ee95b8 (diff)
downloadgit-007d06aa57e673c95da583d2afa30bb14fb69e28.zip
git-007d06aa57e673c95da583d2afa30bb14fb69e28.tar.gz
git-007d06aa57e673c95da583d2afa30bb14fb69e28.tar.bz2
contrib/git-jump: allow to configure the grep command
Add the configuration option "jump.grepCmd" that allows to configure the command that is used to search in grep mode. This allows the users of git-jump to use ag(1) or ack(1) as search engines. Signed-off-by: Beat Bolli <dev+git@drbeat.li> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib')
-rw-r--r--contrib/git-jump/README3
-rwxr-xr-xcontrib/git-jump/git-jump7
2 files changed, 8 insertions, 2 deletions
diff --git a/contrib/git-jump/README b/contrib/git-jump/README
index 225e3f0..9f58d5d 100644
--- a/contrib/git-jump/README
+++ b/contrib/git-jump/README
@@ -63,6 +63,9 @@ git jump grep foo_bar
# same as above, but case-insensitive; you can give
# arbitrary grep options
git jump grep -i foo_bar
+
+# use the silver searcher for git jump grep
+git config jump.grepCmd "ag --column"
--------------------------------------------------
diff --git a/contrib/git-jump/git-jump b/contrib/git-jump/git-jump
index 427f206..80ab059 100755
--- a/contrib/git-jump/git-jump
+++ b/contrib/git-jump/git-jump
@@ -11,7 +11,8 @@ diff: elements are diff hunks. Arguments are given to diff.
merge: elements are merge conflicts. Arguments are ignored.
-grep: elements are grep hits. Arguments are given to grep.
+grep: elements are grep hits. Arguments are given to git grep or, if
+ configured, to the command in `jump.grepCmd`.
ws: elements are whitespace errors. Arguments are given to diff --check.
EOF
@@ -50,7 +51,9 @@ mode_merge() {
# but let's clean up extra whitespace, so they look better if the
# editor shows them to us in the status bar.
mode_grep() {
- git grep -n "$@" |
+ cmd=$(git config jump.grepCmd)
+ test -n "$cmd" || cmd="git grep -n"
+ $cmd "$@" |
perl -pe '
s/[ \t]+/ /g;
s/^ *//;