diff --git a/src/hwylterm.nim b/src/hwylterm.nim index 336ff7b..0d78f01 100644 --- a/src/hwylterm.nim +++ b/src/hwylterm.nim @@ -10,5 +10,5 @@ ]## -import hwylterm/[spin, bbansi] -export spin, bbansi +import hwylterm/[spin, bbansi, confirm] +export spin, bbansi, confirm diff --git a/src/hwylterm/confirm.nim b/src/hwylterm/confirm.nim new file mode 100644 index 0000000..84308fb --- /dev/null +++ b/src/hwylterm/confirm.nim @@ -0,0 +1,21 @@ +import std/[strutils] +import ./bbansi + +proc confirm*( + question: string, + prefix = "", + suffix = "" +): bool = + result = false + stderr.write $(question & bb"[yellow] (Y/n) ") + while true: + let ans = readLine(stdin) + case ans.strip().toLowerAscii(): + of "y","yes": return true + of "n","no": return false + else: + stderr.write($bb("[red]Please answer Yes/no\nexpected one of [b]Y,yes,N,no ")) + stderr.write "\n" + +when isMainModule: + echo "Response: ", confirm("Is it working?")