promptString static method
Prompts the user for a text string.
Implementation
static String promptString(String message, {String? defaultValue, bool Function(String)? validator}) {
while (true) {
final defaultSuffix = defaultValue != null ? ' ${Logger.gray}($defaultValue)${Logger.reset}' : '';
stdout.write('${Logger.green}?${Logger.reset} ${Logger.bold}$message${Logger.reset}$defaultSuffix: ');
final input = stdin.readLineSync(encoding: utf8)?.trim() ?? '';
if (input.isEmpty && defaultValue != null) {
return defaultValue;
}
if (input.isEmpty) {
Logger.warning('This field is required.');
continue;
}
if (validator != null && !validator(input)) {
continue;
}
return input;
}
}