2017-03-20 19:51:00 +07:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
# is x grep argument available?
|
2017-03-20 20:18:10 +07:00
|
|
|
grep_flag_available() {
|
2017-03-20 19:51:00 +07:00
|
|
|
echo | grep $1 "" >/dev/null 2>&1
|
|
|
|
}
|
|
|
|
|
2020-07-28 10:24:30 +01:00
|
|
|
GREP_OPTIONS=()
|
2017-03-20 19:51:00 +07:00
|
|
|
|
|
|
|
# color grep results
|
2017-03-20 20:21:32 +07:00
|
|
|
if grep_flag_available --color=auto; then
|
2020-07-28 10:24:30 +01:00
|
|
|
GREP_OPTIONS+=( "--color=auto" )
|
2017-03-20 19:51:00 +07:00
|
|
|
fi
|
|
|
|
|
|
|
|
# ignore VCS folders (if the necessary grep flags are available)
|
|
|
|
VCS_FOLDERS="{.bzr,CVS,.git,.hg,.svn}"
|
|
|
|
|
2017-03-20 20:21:32 +07:00
|
|
|
if grep_flag_available --exclude-dir=.cvs; then
|
2020-07-28 10:24:30 +01:00
|
|
|
GREP_OPTIONS+=( "--exclude-dir=$VCS_FOLDERS" )
|
2017-03-20 20:21:32 +07:00
|
|
|
elif grep_flag_available --exclude=.cvs; then
|
2020-07-28 10:24:30 +01:00
|
|
|
GREP_OPTIONS+=( "--exclude=$VCS_FOLDERS" )
|
2017-03-20 19:51:00 +07:00
|
|
|
fi
|
|
|
|
|
|
|
|
# export grep settings
|
2020-07-28 10:24:30 +01:00
|
|
|
alias grep="grep ${GREP_OPTIONS[*]}"
|
2017-03-20 19:51:00 +07:00
|
|
|
|
|
|
|
# clean up
|
|
|
|
unset GREP_OPTIONS
|
|
|
|
unset VCS_FOLDERS
|
2017-03-20 20:20:17 +07:00
|
|
|
unset -f grep_flag_available
|