From 9385b3ee0a8425ae8a2b5c16084d4fab1ebc3764 Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Mon, 24 Mar 2014 10:17:19 +0300 Subject: [PATCH] set exclude-dir or exclude grep flags only if available --- lib/grep.zsh | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/grep.zsh b/lib/grep.zsh index 977435ee4..276fec382 100644 --- a/lib/grep.zsh +++ b/lib/grep.zsh @@ -3,11 +3,22 @@ # Examples: http://rubyurl.com/ZXv # -# avoid VCS folders -GREP_OPTIONS= -for PATTERN in .cvs .git .hg .svn; do - GREP_OPTIONS+="--exclude-dir=$PATTERN " -done -GREP_OPTIONS+="--color=auto" +GREP_OPTIONS="--color=auto" + +# avoid VCS folders (if the necessary grep flags are available) +grep-flag-available() { + echo | grep $1 "" >/dev/null 2>&1 +} +if grep-flag-available --exclude-dir=.cvs; then + for PATTERN in .cvs .git .hg .svn; do + GREP_OPTIONS+=" --exclude-dir=$PATTERN" + done +elif grep-flag-available --exclude=.cvs; then + for PATTERN in .cvs .git .hg .svn; do + GREP_OPTIONS+=" --exclude=$PATTERN" + done +fi +unfunction grep-flag-available + export GREP_OPTIONS="$GREP_OPTIONS" export GREP_COLOR='1;32'