Beat Bolli <[email protected]> writes:
> 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 <[email protected]>
> ---
Thanks. The contrib/README file has this to say (also read the
surrounding text):
... If
you have patches to things in contrib/ area, the patch should be
first sent to the primary author, and then the primary author
should ack and forward it to me (git pull request is nicer).
Peff, I think we need a clear indication in contrib/git-jump/README
to whom patches to the area should be sent. I know how to run
$ git shortlog -n --no-merges contrib/git-jump
but not everybody does (or bothers).
> contrib/git-jump/README | 3 +++
> contrib/git-jump/git-jump | 7 +++++--
> 2 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/contrib/git-jump/README b/contrib/git-jump/README
> index 225e3f095..9f58d5db8 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 427f206a4..80ab0590b 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/^ *//;