fix(updater): fix input check on non-interactive runs

Reference: https://www.zsh.org/mla/users/2022/msg00067.html
parent dbd92a62
......@@ -95,13 +95,21 @@ function has_typed_input() {
emulate -L zsh
zmodload zsh/zselect
# Back up stty settings prior to disabling canonical mode
# Consider that no input can be typed if stty fails
# (this might happen if stdin is not a terminal)
local termios
termios=$(stty --save 2>/dev/null) || return 1
{
local termios=$(stty --save)
# Disable canonical mode so that typed input counts
# regardless of whether Enter was pressed
stty -icanon
# Poll stdin (fd 0) for data ready to be read
zselect -t 0 -r 0
return $?
} always {
# Restore stty settings
stty $termios
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment