git-jump: add an optional argument '--stdout'
It can be used with M-x grep on Emacs. Signed-off-by: Yoichi Nakayama <yoichi.nakayama@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a0789512c5
commit
cfb7b3b391
@ -79,6 +79,14 @@ git jump grep -i foo_bar
|
||||
git config jump.grepCmd "ag --column"
|
||||
--------------------------------------------------
|
||||
|
||||
You can use the optional argument '--stdout' to print the listing to
|
||||
standard output instead of feeding it to the editor. You can use the
|
||||
argument with M-x grep on Emacs:
|
||||
|
||||
--------------------------------------------------
|
||||
# In Emacs, M-x grep and invoke "git jump --stdout <mode>"
|
||||
M-x grep<RET>git jump --stdout diff<RET>
|
||||
--------------------------------------------------
|
||||
|
||||
Related Programs
|
||||
----------------
|
||||
@ -100,7 +108,7 @@ Limitations
|
||||
-----------
|
||||
|
||||
This script was written and tested with vim. Given that the quickfix
|
||||
format is the same as what gcc produces, I expect emacs users have a
|
||||
format is the same as what gcc produces, I expect other tools have a
|
||||
similar feature for iterating through the list, but I know nothing about
|
||||
how to activate it.
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
usage() {
|
||||
cat <<\EOF
|
||||
usage: git jump <mode> [<args>]
|
||||
usage: git jump [--stdout] <mode> [<args>]
|
||||
|
||||
Jump to interesting elements in an editor.
|
||||
The <mode> parameter is one of:
|
||||
@ -15,6 +15,9 @@ 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.
|
||||
|
||||
If the optional argument `--stdout` is given, print the quickfix
|
||||
lines to standard output instead of feeding it to the editor.
|
||||
EOF
|
||||
}
|
||||
|
||||
@ -64,11 +67,31 @@ mode_ws() {
|
||||
git diff --check "$@"
|
||||
}
|
||||
|
||||
use_stdout=
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
--stdout)
|
||||
use_stdout=t
|
||||
;;
|
||||
--*)
|
||||
usage >&2
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
if test $# -lt 1; then
|
||||
usage >&2
|
||||
exit 1
|
||||
fi
|
||||
mode=$1; shift
|
||||
if test "$use_stdout" = "t"; then
|
||||
"mode_$mode" "$@"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
trap 'rm -f "$tmp"' 0 1 2 3 15
|
||||
tmp=`mktemp -t git-jump.XXXXXX` || exit 1
|
||||
|
Loading…
Reference in New Issue
Block a user