summaryrefslogtreecommitdiff
path: root/lib/grep.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/grep.zsh')
-rw-r--r--lib/grep.zsh30
1 files changed, 24 insertions, 6 deletions
diff --git a/lib/grep.zsh b/lib/grep.zsh
index 93c4270b6..348ebe623 100644
--- a/lib/grep.zsh
+++ b/lib/grep.zsh
@@ -1,6 +1,24 @@
-#
-# Color grep results
-# Examples: http://rubyurl.com/ZXv
-#
-export GREP_OPTIONS='--color=auto'
-export GREP_COLOR='1;32' \ No newline at end of file
+# is x grep argument available?
+grep-flag-available() {
+ echo | grep $1 "" >/dev/null 2>&1
+}
+
+# color grep results
+GREP_OPTIONS="--color=auto"
+
+# ignore VCS folders (if the necessary grep flags are available)
+VCS_FOLDERS="{.bzr,.cvs,.git,.hg,.svn}"
+
+if grep-flag-available --exclude-dir=.cvs; then
+ GREP_OPTIONS+=" --exclude-dir=$VCS_FOLDERS"
+elif grep-flag-available --exclude=.cvs; then
+ GREP_OPTIONS+=" --exclude=$VCS_FOLDERS"
+fi
+
+# export grep settings
+alias grep="grep $GREP_OPTIONS"
+
+# clean up
+unset GREP_OPTIONS
+unset VCS_FOLDERS
+unfunction grep-flag-available