0e12ebb42def5729f79b5f5d2703829faa6a9643
- Author
- Marc Cornellà <marc.cornella@live.com>
- Committer
- Marc Cornellà <marc.cornella@live.com>
- Date
Message
init: use grep for zcompdump metadata check
Closes #8981
Diff
1diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
2index 435febc6d56ddc56f947fad6cf010cb3eaedd3b6..8b4c778d6bcd7177278bcb248178c71a1d4acfc9 100644
3--- a/oh-my-zsh.sh
4+++ b/oh-my-zsh.sh
5@@ -62,13 +62,13 @@ if [ -z "$ZSH_COMPDUMP" ]; then
6 fi
7
8 # Construct zcompdump OMZ metadata
9-zcompdump_metadata="\
10-#omz revision: $(builtin cd -q "$ZSH"; git rev-parse HEAD 2>/dev/null)
11-#omz fpath: $fpath\
12-"
13+zcompdump_revision="#omz revision: $(builtin cd -q "$ZSH"; git rev-parse HEAD 2>/dev/null)"
14+zcompdump_fpath="#omz fpath: $fpath"
15
16 # Delete the zcompdump file if OMZ zcompdump metadata changed
17-if ! cmp -s <(command grep '^#omz' "$ZSH_COMPDUMP" 2>/dev/null) <(echo "$zcompdump_metadata"); then
18+if ! command grep -q -Fx "$zcompdump_revision" "$ZSH_COMPDUMP" 2>/dev/null \
19+ || ! command grep -q -Fx "$zcompdump_fpath" "$ZSH_COMPDUMP" 2>/dev/null; then
20+ echo zcompdump changed
21 command rm -f "$ZSH_COMPDUMP"
22 zcompdump_refresh=1
23 fi
24@@ -86,10 +86,14 @@ fi
25
26 # Append zcompdump metadata if missing
27 if (( $zcompdump_refresh )); then
28- echo "\n$zcompdump_metadata" | tee -a "$ZSH_COMPDUMP" &>/dev/null
29+ cat >>| "$ZSH_COMPDUMP" <<EOF
30+
31+$zcompdump_revision
32+$zcompdump_fpath
33+EOF
34 fi
35
36-unset zcompdump_metadata zcompdump_refresh
37+unset zcompdump_revision zcompdump_fpath zcompdump_refresh
38
39
40 # Load all of the config files in ~/oh-my-zsh that end in .zsh