diff options
Diffstat (limited to 'bash')
-rw-r--r-- | bash/bashrc.d/grep.bash | 20 |
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() { |