aboutsummaryrefslogtreecommitdiff
path: root/bash/bashrc.d/grep.bash
diff options
context:
space:
mode:
Diffstat (limited to 'bash/bashrc.d/grep.bash')
-rw-r--r--bash/bashrc.d/grep.bash20
1 files changed, 11 insertions, 9 deletions
diff --git a/bash/bashrc.d/grep.bash b/bash/bashrc.d/grep.bash
index 11eeb5b0..624baf30 100644
--- a/bash/bashrc.d/grep.bash
+++ b/bash/bashrc.d/grep.bash
@@ -1,31 +1,33 @@
+# Our ~/.profile should already have made a directory with the supported
+# options for us
+[[ -d $HOME/.cache/grep ]] || return
+
# Store whether we have colors in a variable
declare -i colors
colors=$( {
tput Co || tput colors
} 2>/dev/null )
-# Store grep(1)'s --help output in a variable
-grep_help=$(grep --help 2>/dev/null)
-
# Use GREPOPTS to add some useful options to grep(1) calls if applicable; we
# use a function wrapper to do this, rather than GREP_OPTIONS as we don't want
# to change grep(1)'s actual behaviour inside scripts
declare -a GREPOPTS
-if [[ -n $GREP_COLORS ]] && ((colors >= 8)) ; then
+GREPOPTS=()
+if ((colors >= 8)) && [[ -n $GREP_COLORS ]] ; then
GREPOPTS[${#GREPOPTS[@]}]='--color=auto'
fi
-if [[ $grep_help == *--binary-files* ]] ; then
+if [[ -e $HOME/.cache/grep/binary-files ]] ; then
GREPOPTS[${#GREPOPTS[@]}]='--binary-files=without-match'
fi
-if [[ $grep_help == *--exclude* ]] ; then
+if [[ -e $HOME/.cache/grep/exclude ]] ; then
GREPOPTS[${#GREPOPTS[@]}]='--exclude={.gitignore,.gitmodules}'
fi
-if [[ $grep_help == *--exclude-dir* ]] ; then
+if [[ -e $HOME/.cache/grep/exclude-dir ]] ; then
GREPOPTS[${#GREPOPTS[@]}]='--exclude-dir={.cvs,.git,.hg,.svn}'
fi
-# Done, unset helper vars
-unset -v grep_help colors
+# Done, unset color var
+unset -v colors
# Define function proper
grep() {