Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
oh-my-zsh
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
github
oh-my-zsh
Commits
dc190d87
Commit
dc190d87
authored
Mar 01, 2020
by
Marc Cornellà
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor grep.zsh file
- Move grep-alias path to variable. - Use <<< "" instead of piped echo to check grep flags. - Remove check for --color only since it's the same release as --exclude.
parent
8d814fdf
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
22 deletions
+20
-22
grep.zsh
lib/grep.zsh
+20
-22
No files found.
lib/grep.zsh
View file @
dc190d87
# see if we already cached the grep alias in past day
__GREP_CACHE_FILE
=
"
$ZSH_CACHE_DIR
"
/grep-alias
_grep_alias_cache
=(
"
$ZSH_CACHE_DIR
"
/grep_alias.zsh
(
Nm-24
))
if
((
$#_grep_alias_cache
))
;
then
# See if there's a cache file modified in the last day
source
"
$ZSH_CACHE_DIR
"
/grep_alias.zsh
__GREP_ALIAS_CACHES
=(
"
$__GREP_CACHE_FILE
"
(
Nm-1
))
else
if
[[
-z
"
$__GREP_ALIAS_CACHES
"
]]
;
then
# is x grep argument available?
grep-flags-available
()
{
grep-flags-available
()
{
echo
|
grep
"
$@
"
""
>
/dev/null 2>&1
command grep
"
$@
"
""
&>/dev/null
<<<
""
}
}
GREP_OPTIONS
=
""
# Ignore these folders (if the necessary grep flags are available)
# ignore these folders (if the necessary grep flags are available)
EXC_FOLDERS
=
"{.bzr,CVS,.git,.hg,.svn,.idea,.tox}"
EXC_FOLDERS
=
"{.bzr,CVS,.git,.hg,.svn,.idea,.tox}"
# Check for --exclude-dir, otherwise check for --exclude. If --exclude
# isn't available, --color won't be either (they were released at the same
# time (v2.5): http://git.savannah.gnu.org/cgit/grep.git/tree/NEWS?id=1236f007
if
grep-flags-available
--color
=
auto
--exclude-dir
=
.cvs
;
then
if
grep-flags-available
--color
=
auto
--exclude-dir
=
.cvs
;
then
GREP_OPTIONS
+
=
"--color=auto --exclude-dir=
$EXC_FOLDERS
"
GREP_OPTIONS
=
"--color=auto --exclude-dir=
$EXC_FOLDERS
"
elif
grep-flags-available
--color
=
auto
--exclude
=
.cvs
;
then
elif
grep-flags-available
--color
=
auto
--exclude
=
.cvs
;
then
GREP_OPTIONS+
=
"--color=auto --exclude=
$EXC_FOLDERS
"
GREP_OPTIONS
=
"--color=auto --exclude=
$EXC_FOLDERS
"
elif
grep-flags-available
--color
=
auto
;
then
GREP_OPTIONS+
=
"--color=auto"
fi
fi
{
{
if
[[
-n
"
$GREP_OPTIONS
"
]]
;
then
if
[[
-n
"
$GREP_OPTIONS
"
]]
;
then
# export grep, egrep and fgrep settings
# export grep, egrep and fgrep settings
echo
alias grep
=
"
'grep
$GREP_OPTIONS
'"
echo
"alias grep=
'grep
$GREP_OPTIONS
'"
echo
alias
egrep
=
"
'egrep
$GREP_OPTIONS
'"
echo
"alias egrep=
'egrep
$GREP_OPTIONS
'"
echo
alias
fgrep
=
"
'fgrep
$GREP_OPTIONS
'"
echo
"alias fgrep=
'fgrep
$GREP_OPTIONS
'"
fi
fi
}
>
"
$
ZSH_CACHE_DIR
/grep_alias.zsh
"
}
>
"
$
__GREP_CACHE_FILE
"
source
"
$ZSH_CACHE_DIR
/grep_alias.zsh"
# Clean up
# clean up
unset
GREP_OPTIONS EXC_FOLDERS
unset
GREP_OPTIONS EXC_FOLDERS
unfunction grep-flags-available
unfunction grep-flags-available
fi
fi
unset
_grep_alias_cache
source
"
$__GREP_CACHE_FILE
"
unset
__GREP_CACHE_FILE __GREP_ALIAS_CACHES
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment