summaryrefslogtreecommitdiff
path: root/lib/functions.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/functions.zsh')
-rw-r--r--lib/functions.zsh16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/functions.zsh b/lib/functions.zsh
index e85b867a5..0556aeb29 100644
--- a/lib/functions.zsh
+++ b/lib/functions.zsh
@@ -7,8 +7,20 @@ function uninstall_oh_my_zsh() {
}
function upgrade_oh_my_zsh() {
- echo >&2 "${fg[yellow]}Note: \`$0\` is deprecated. Use \`omz update\` instead.$reset_color"
- omz update
+ if (( $+functions[_omz::update] )); then
+ echo >&2 "${fg[yellow]}Note: \`$0\` is deprecated. Use \`omz update\` instead.$reset_color"
+ fi
+
+ # Run update script
+ env ZSH="$ZSH" sh "$ZSH/tools/upgrade.sh"
+ # Update last updated file
+ zmodload zsh/datetime
+ echo "LAST_EPOCH=$(( EPOCHSECONDS / 60 / 60 / 24 ))" >! "${ZSH_CACHE_DIR}/.zsh-update"
+ # Remove update lock if it exists
+ command rm -rf "$ZSH/log/update.lock"
+ # Restart the zsh session
+ _omz::log info "restarting the zsh session..."
+ [[ -z "$SHELL" ]] && exec ${SHELL#-} || exec zsh
}
function take() {