util/prompt: make yes/no prompt reusable

Updates #19445

Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
This commit is contained in:
Kristoffer Dalby
2025-06-19 11:31:47 +02:00
committed by Kristoffer Dalby
parent b3e74367d8
commit 9309760263
4 changed files with 29 additions and 17 deletions
+2 -16
View File
@@ -9,10 +9,10 @@ import (
"flag"
"fmt"
"runtime"
"strings"
"github.com/peterbourgon/ff/v3/ffcli"
"tailscale.com/clientupdate"
"tailscale.com/util/prompt"
"tailscale.com/version"
"tailscale.com/version/distro"
)
@@ -87,19 +87,5 @@ func confirmUpdate(ver string) bool {
}
msg := fmt.Sprintf("This will update Tailscale from %v to %v. Continue?", version.Short(), ver)
return promptYesNo(msg)
}
// PromptYesNo takes a question and prompts the user to answer the
// question with a yes or no. It appends a [y/n] to the message.
func promptYesNo(msg string) bool {
fmt.Print(msg + " [y/n] ")
var resp string
fmt.Scanln(&resp)
resp = strings.ToLower(resp)
switch resp {
case "y", "yes", "sure":
return true
}
return false
return prompt.YesNo(msg)
}