ask method
Implementation
@override
dynamic ask() {
while (true) {
print('\n$text');
for (var i = 0; i < choices.length; i++) {
print(' [${i + 1}] ${choices[i]}');
}
stdout.write('Select option (1-${choices.length}): ');
final input = stdin.readLineSync()?.trim();
if (input == null || input.isEmpty) {
print('Input cannot be empty. Please try again.');
continue;
}
final index = int.tryParse(input);
if (index == null || index < 1 || index > choices.length) {
print('Invalid option. Please enter a number between 1 and ${choices.length}.');
continue;
}
return choices[index - 1];
}
}