text method
Asks for one line of text.
Returns null when the prompt is cancelled or the input stream ends.
When defaultValue is provided, an empty submitted line returns it.
Implementation
Future<String?> text(String message, {String? defaultValue}) async {
if (_closed) {
throw StateError('Prompt is closed.');
}
if (_asking) {
throw StateError('Prompt is already asking.');
}
_asking = true;
try {
final answer = await _readline.readLine(
prompt: _formatPrompt(message, defaultValue: defaultValue),
);
if (answer == null) return null;
if (answer.isEmpty && defaultValue != null) {
return defaultValue;
}
return answer;
} finally {
_asking = false;
}
}