aboutsummaryrefslogtreecommitdiff
path: root/sh/shrc.d/grep.sh
diff options
context:
space:
mode:
Diffstat (limited to 'sh/shrc.d/grep.sh')
-rw-r--r--sh/shrc.d/grep.sh48
1 files changed, 24 insertions, 24 deletions
diff --git a/sh/shrc.d/grep.sh b/sh/shrc.d/grep.sh
index 6fef7701..2ccaed69 100644
--- a/sh/shrc.d/grep.sh
+++ b/sh/shrc.d/grep.sh
@@ -5,14 +5,22 @@
# Define function proper
grep() {
- # Add --exclude-dir to ignore version control dot-directories
- [ -e "$HOME"/.cache/grep/exclude-dir ] &&
- set -- \
- --exclude-dir=.cvs \
- --exclude-dir=.git \
- --exclude-dir=.hg \
- --exclude-dir=.svn \
- "$@"
+ # Add --binary-files=without-match to gracefully skip binary files
+ [ -e "$HOME"/.cache/grep/binary-files ] &&
+ set -- --binary-files=without-match "$@"
+
+ # Add --color if the terminal has at least 8 colors
+ [ -e "$HOME"/.cache/grep/color ] &&
+ [ "$({ tput colors || tput Co ; } 2>/dev/null)" -ge 8 ] &&
+ set -- --color=auto "$@"
+
+ # Add --devices=skip to gracefully skip devices
+ [ -e "$HOME"/.cache/grep/devices ] &&
+ set -- --devices=skip "$@"
+
+ # Add --directories=skip to gracefully skip directories
+ [ -e "$HOME"/.cache/grep/directories ] &&
+ set -- --directories=skip "$@"
# Add --exclude to ignore .gitignore and .gitmodules files
[ -e "$HOME"/.cache/grep/exclude ] &&
@@ -21,22 +29,14 @@ grep() {
--exclude=.gitmodules \
"$@"
- # Add --directories=skip to gracefully skip directories
- [ -e "$HOME"/.cache/grep/directories ] &&
- set -- --directories=skip "$@"
-
- # Add --devices=skip to gracefully skip devices
- [ -e "$HOME"/.cache/grep/devices ] &&
- set -- --devices=skip "$@"
-
- # Add --color if the terminal has at least 8 colors
- [ -e "$HOME"/.cache/grep/color ] &&
- [ "$({ tput colors || tput Co ; } 2>/dev/null)" -ge 8 ] &&
- set -- --color=auto "$@"
-
- # Add --binary-files=without-match to gracefully skip binary files
- [ -e "$HOME"/.cache/grep/binary-files ] &&
- set -- --binary-files=without-match "$@"
+ # Add --exclude-dir to ignore version control dot-directories
+ [ -e "$HOME"/.cache/grep/exclude-dir ] &&
+ set -- \
+ --exclude-dir=.cvs \
+ --exclude-dir=.git \
+ --exclude-dir=.hg \
+ --exclude-dir=.svn \
+ "$@"
# Run grep(1) with the concluded arguments
command grep "$@"