1
0
mirror of git://projects.qi-hardware.com/wernermisc.git synced 2024-12-25 06:52:04 +02:00
wernermisc/bin/gg

30 lines
634 B
Bash
Executable File

#!/bin/sh
#
# git grep through a tree, list the hits, then set up vi to go through the
# files we found, searching for the expression.
#
# usage: gg [grep_options] search_expression
#
nondash()
{
while [ ! -z "$*" ]; do
if [ "${1#-}" = "$1" ]; then
echo "$1"
return
fi
shift
done
}
#
# the "cat" here serves two purposes:
# 1) keep "git grep" from truncating long lines
# 2) keep "git grep" from using a pager, which would result in waiting twice
# for user input at the end, which is confusing
#
git grep "$@" | cat
echo -n '[Enter to vi] '
read x
${GG_EDITOR:-vi} -c /"`nondash \"$@\"`" `git grep -l "$@"`