From 846f417eb8ec76e8eee70000e289b8b81f19d480 Mon Sep 17 00:00:00 2001
From: Marc Cornellà <hello@mcornella.com>
Date: Sun, 10 Apr 2022 10:20:51 +0200
Subject: feat(updater): check for typed input before automatically updating
 (#10830)

---
 tools/check_for_upgrade.sh | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh
index d3ad7582c..149500aa9 100644
--- a/tools/check_for_upgrade.sh
+++ b/tools/check_for_upgrade.sh
@@ -180,23 +180,17 @@ function has_typed_input() {
     return
   fi
 
-  # Don't ask for confirmation before updating if in auto mode
-  if [[ "$update_mode" = auto ]]; then
-    update_ohmyzsh
-    return $?
-  fi
-
-  # If in reminder mode show reminder and exit
-  if [[ "$update_mode" = reminder ]]; then
+  # If in reminder mode or user has typed input, show reminder and exit
+  if [[ "$update_mode" = reminder ]] || has_typed_input; then
+    printf '\r\e[0K' # move cursor to first column and clear whole line
     echo "[oh-my-zsh] It's time to update! You can do that by running \`omz update\`"
     return 0
   fi
 
-  # If user has typed input, show reminder and exit
-  if has_typed_input; then
-    echo
-    echo "[oh-my-zsh] It's time to update! You can do that by running \`omz update\`"
-    return 0
+  # Don't ask for confirmation before updating if in auto mode
+  if [[ "$update_mode" = auto ]]; then
+    update_ohmyzsh
+    return $?
   fi
 
   # Ask for confirmation and only update on 'y', 'Y' or Enter
-- 
cgit v1.2.3-70-g09d2