25 lines
688 B
Bash
25 lines
688 B
Bash
git_grep_shortcuts() {
|
|
fail_if_not_git_repo || return 1
|
|
git_clear_vars
|
|
# Run ruby script, store output
|
|
tmp_grep_results="$(git rev-parse --git-dir)/tmp_grep_results_$$"
|
|
git grep -n --color=always "$@" |
|
|
/usr/bin/env ruby "$scmbDir/lib/git/grep_shortcuts.rb" >"$tmp_grep_results"
|
|
|
|
# Fetch list of files from last line of script output
|
|
files="$(tail -1 "$tmp_grep_results" | sed 's%@@filelist@@::%%g')"
|
|
|
|
# Export numbered env variables for each file
|
|
IFS="|"
|
|
local e=1
|
|
for file in ${=files}; do
|
|
export $git_env_char$e="$file"
|
|
let e++
|
|
done
|
|
IFS=$' \t\n'
|
|
|
|
# Print status
|
|
cat "$tmp_grep_results" | sed '$d' | less -SfRMXFi
|
|
rm -f "$tmp_grep_results"
|
|
}
|