diff options
Diffstat (limited to 'sh/profile.d/grep.sh')
-rw-r--r-- | sh/profile.d/grep.sh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/sh/profile.d/grep.sh b/sh/profile.d/grep.sh new file mode 100644 index 00000000..e83d6268 --- /dev/null +++ b/sh/profile.d/grep.sh @@ -0,0 +1,38 @@ +# Store grep(1)'s --help output in a variable +grep_help=$(grep --help 2>/dev/null) + +# Define and store appropriate colors for grep(1) if applicable +case $grep_help in + *--color*) + GREP_COLORS='ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36' + export GREP_COLORS + ;; +esac + +# Use GREP_OPTIONS to add some useful --exclude and --exclude-dir options to +# grep(1) calls if applicable +case $grep_help in + *--exclude*) + for exclude in .gitignore .gitmodules ; do + GREP_OPTIONS=${GREP_OPTIONS:+$GREP_OPTIONS }'--exclude='$exclude + done + unset -v exclude + ;; +esac +case $grep_help in + *--exclude-dir*) + for exclude_dir in .cvs .git .hg .svn ; do + GREP_OPTIONS=${GREP_OPTIONS:+$GREP_OPTIONS }'--exclude-dir='$exclude_dir + done + unset -v exclude_dir + ;; +esac + +# We're done parsing grep(1)'s --help output now +unset -v grep_help + +# Export the grep(1) options if we decided on any +if [ -n "$GREP_OPTIONS" ] ; then + export GREP_OPTIONS +fi + |