summaryrefslogtreecommitdiff
path: root/tools/check_for_upgrade.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/check_for_upgrade.sh')
-rw-r--r--tools/check_for_upgrade.sh21
1 files changed, 14 insertions, 7 deletions
diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh
index 1cc193bde..44dbb7b31 100644
--- a/tools/check_for_upgrade.sh
+++ b/tools/check_for_upgrade.sh
@@ -20,14 +20,16 @@ zstyle -s ':omz:update' mode update_mode || {
}
# Cancel update if:
-# - the automatic update is disabled.
-# - the current user doesn't have write permissions nor owns the $ZSH directory.
+# - the automatic update is disabled
+# - the current user doesn't have write permissions nor owns the $ZSH directory
# - is not run from a tty
-# - git is unavailable on the system.
+# - git is unavailable on the system
+# - $ZSH is not a git repository
if [[ "$update_mode" = disabled ]] \
|| [[ ! -w "$ZSH" || ! -O "$ZSH" ]] \
- || [[ ! -t 1 ]] \
- || ! command git --version 2>&1 >/dev/null; then
+ || [[ ! -t 1 && ${POWERLEVEL9K_INSTANT_PROMPT:-off} == off ]] \
+ || ! command git --version 2>&1 >/dev/null \
+ || (builtin cd -q "$ZSH"; ! command git rev-parse --is-inside-work-tree &>/dev/null); then
unset update_mode
return
fi
@@ -110,6 +112,11 @@ function update_ohmyzsh() {
local verbose_mode
zstyle -s ':omz:update' verbose verbose_mode || verbose_mode=default
+ # Force verbose mode to silent if p10k instant prompt is enabled
+ if [[ ${POWERLEVEL9K_INSTANT_PROMPT:-off} != "off" ]]; then
+ verbose_mode=silent
+ fi
+
if [[ "$update_mode" != background-alpha ]] \
&& LANG= ZSH="$ZSH" zsh -f "$ZSH/tools/upgrade.sh" -i -v $verbose_mode; then
update_last_updated_file
@@ -225,7 +232,7 @@ function handle_update() {
# Ask for confirmation and only update on 'y', 'Y' or Enter
# Otherwise just show a reminder for how to update
- echo -n "[oh-my-zsh] Would you like to update? [Y/n] "
+ printf "[oh-my-zsh] Would you like to update? [Y/n] "
read -r -k 1 option
[[ "$option" = $'\n' ]] || echo
case "$option" in
@@ -273,7 +280,7 @@ case "$update_mode" in
return 0
elif [[ "$EXIT_STATUS" -ne 0 ]]; then
print -P "\n%F{red}[oh-my-zsh] There was an error updating:%f"
- printf "\n${fg[yellow]}%s${reset_color}" "$ERROR"
+ printf "\n${fg[yellow]}%s${reset_color}" "${ERROR}"
return 0
fi
} always {