Improve app input prompt logic in install.sh

Enhance user prompt for application input with default handling and skip option.
This commit is contained in:
JGH
2026-02-09 12:48:30 +00:00
committed by GitHub
parent 1a8b6dc83b
commit 3c580866ed

View File

@@ -25,10 +25,34 @@ ask_app() {
local label="$1" local label="$1"
local default="$2" local default="$2"
local app local app
local first_run=true
while true; do while true; do
read -rp "$label (default: $default): " app if [ "$first_run" = true ]; then
app="${app:-$default}" # First run: show the prompt with default
read -rp "$label (default: $default): " app
first_run=false
else
# Subsequent runs: show a simpler prompt
read -rp "Enter a different command or 'skip' to continue anyway: " app
fi
# Handle empty input (use default on first run, empty on subsequent runs)
if [ -z "$app" ]; then
if [ "$first_run" = false ]; then
# User pressed Enter on retry - ask if they want to skip
echo " Press Enter again to skip, or type 'skip'"
continue
fi
app="$default"
fi
# Allow user to skip validation
if [ "$app" = "skip" ]; then
echo " Using '$default' (not verified)"
echo "$default"
return
fi
# check if command exists # check if command exists
if command -v "${app%% *}" >/dev/null 2>&1; then if command -v "${app%% *}" >/dev/null 2>&1; then
@@ -36,7 +60,10 @@ ask_app() {
return return
else else
echo "✗ '$app' not found in PATH" echo "✗ '$app' not found in PATH"
echo " install it first or choose another" if [ "$first_run" = true ]; then
echo " Install it with: sudo pacman -S ${app%% *}"
echo " Or choose a different application"
fi
fi fi
done done
} }
@@ -205,4 +232,4 @@ if [ "$WM" = "sway" ]; then
echo "Make sure to log out and select Sway from your display manager" echo "Make sure to log out and select Sway from your display manager"
else else
echo "For i3, reload with: Super + Shift + C" echo "For i3, reload with: Super + Shift + C"
fi fi