Diff
1diff --git a/lib/cli.zsh b/lib/cli.zsh
2index 4917bc354cc0e8b748b6074c385d89a317012727..8cf8368e6d92864a44664a4526a5674fe81cd2bd 100644
3--- a/lib/cli.zsh
4+++ b/lib/cli.zsh
5@@ -276,9 +276,10 @@ multi == 1 && length(\$0) > 0 {
6 { print \$0 }
7 "
8
9- awk "$awk_script" ~/.zshrc > ~/.zshrc.new \
10- && command mv -f ~/.zshrc ~/.zshrc.bck \
11- && command mv -f ~/.zshrc.new ~/.zshrc
12+ local zdot="${ZDOTDIR:-$HOME}"
13+ awk "$awk_script" "$zdot/.zshrc" > "$zdot/.zshrc.new" \
14+ && command mv -f "$zdot/.zshrc" "$zdot/.zshrc.bck" \
15+ && command mv -f "$zdot/.zshrc.new" "$zdot/.zshrc"
16
17 # Exit if the new .zshrc file wasn't created correctly
18 [[ $? -eq 0 ]] || {
19@@ -288,10 +289,10 @@ multi == 1 && length(\$0) > 0 {
20 }
21
22 # Exit if the new .zshrc file has syntax errors
23- if ! zsh -n ~/.zshrc; then
24- _omz::log error "broken syntax in ~/.zshrc. Rolling back changes..."
25- command mv -f ~/.zshrc ~/.zshrc.new
26- command mv -f ~/.zshrc.bck ~/.zshrc
27+ if ! zsh -n "$zdot/.zshrc"; then
28+ _omz::log error "broken syntax in '"${zdot/#$HOME/\~}/.zshrc"'. Rolling back changes..."
29+ command mv -f "$zdot/.zshrc" "$zdot/.zshrc.new"
30+ command mv -f "$zdot/.zshrc.bck" "$zdot/.zshrc"
31 return 1
32 fi
33
34@@ -351,9 +352,10 @@ multi == 1 && /^[^#]*\)/ {
35 { print \$0 }
36 "
37
38- awk "$awk_script" ~/.zshrc > ~/.zshrc.new \
39- && command mv -f ~/.zshrc ~/.zshrc.bck \
40- && command mv -f ~/.zshrc.new ~/.zshrc
41+ local zdot="${ZDOTDIR:-$HOME}"
42+ awk "$awk_script" "$zdot/.zshrc" > "$zdot/.zshrc.new" \
43+ && command mv -f "$zdot/.zshrc" "$zdot/.zshrc.bck" \
44+ && command mv -f "$zdot/.zshrc.new" "$zdot/.zshrc"
45
46 # Exit if the new .zshrc file wasn't created correctly
47 [[ $? -eq 0 ]] || {
48@@ -363,10 +365,10 @@ multi == 1 && /^[^#]*\)/ {
49 }
50
51 # Exit if the new .zshrc file has syntax errors
52- if ! zsh -n ~/.zshrc; then
53- _omz::log error "broken syntax in ~/.zshrc. Rolling back changes..."
54- command mv -f ~/.zshrc ~/.zshrc.new
55- command mv -f ~/.zshrc.bck ~/.zshrc
56+ if ! zsh -n "$zdot/.zshrc"; then
57+ _omz::log error "broken syntax in '"${zdot/#$HOME/\~}/.zshrc"'. Rolling back changes..."
58+ command mv -f "$zdot/.zshrc" "$zdot/.zshrc.new"
59+ command mv -f "$zdot/.zshrc.bck" "$zdot/.zshrc"
60 return 1
61 fi
62
63@@ -698,17 +700,18 @@ END {
64 }
65 '
66
67- awk "$awk_script" ~/.zshrc > ~/.zshrc.new \
68+ local zdot="${ZDOTDIR:-$HOME}"
69+ awk "$awk_script" "$zdot/.zshrc" > "$zdot/.zshrc.new" \
70 || {
71 # Prepend ZSH_THEME= line to .zshrc if it doesn't exist
72 cat <<EOF
73 ZSH_THEME="$1" # set by \`omz\`
74
75 EOF
76- cat ~/.zshrc
77- } > ~/.zshrc.new \
78- && command mv -f ~/.zshrc ~/.zshrc.bck \
79- && command mv -f ~/.zshrc.new ~/.zshrc
80+ cat "$zdot/.zshrc"
81+ } > "$zdot/.zshrc.new" \
82+ && command mv -f "$zdot/.zshrc" "$zdot/.zshrc.bck" \
83+ && command mv -f "$zdot/.zshrc.new" "$zdot/.zshrc"
84
85 # Exit if the new .zshrc file wasn't created correctly
86 [[ $? -eq 0 ]] || {
87@@ -718,10 +721,10 @@ EOF
88 }
89
90 # Exit if the new .zshrc file has syntax errors
91- if ! zsh -n ~/.zshrc; then
92- _omz::log error "broken syntax in ~/.zshrc. Rolling back changes..."
93- command mv -f ~/.zshrc ~/.zshrc.new
94- command mv -f ~/.zshrc.bck ~/.zshrc
95+ if ! zsh -n "$zdot/.zshrc"; then
96+ _omz::log error "broken syntax in '"${zdot/#$HOME/\~}/.zshrc"'. Rolling back changes..."
97+ command mv -f "$zdot/.zshrc" "$zdot/.zshrc.new"
98+ command mv -f "$zdot/.zshrc.bck" "$zdot/.zshrc"
99 return 1
100 fi
101