summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/cli.zsh4
-rw-r--r--lib/functions.zsh16
2 files changed, 18 insertions, 2 deletions
diff --git a/lib/cli.zsh b/lib/cli.zsh
index 3c09cdab8..d8203f271 100644
--- a/lib/cli.zsh
+++ b/lib/cli.zsh
@@ -201,10 +201,14 @@ function _omz::pr::test {
}
function _omz::update {
+ # 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
}
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() {