promptTextTui function
Opens a TextPromptSpec through prompt and returns the trimmed text
answer. Returns initial as-is when provided (no prompt needed), or
null on cancel/unexpected result.
Implementation
Future<String?> promptTextTui(
Future<TuiPromptAnswer?> Function(TuiPromptSpec) prompt,
String? initial, {
required String header,
required String question,
bool secret = false,
}) async {
if (initial != null) return initial;
final result = await prompt(
TextPromptSpec(header: header, question: question, secret: secret),
);
if (result == null || result is! TextPromptAnswer) return null;
return result.value.trim();
}