askMultiSelect static method
Multi-select with checkboxes and arrow key navigation
Implementation
static Future<List<int>> askMultiSelect(
String title,
List<String> options, {
List<String>? defaultSelected,
List<bool>? defaults,
}) async {
if (options.isEmpty) {
return <int>[];
}
// Convert defaultSelected names to boolean list if provided
final List<bool> defaultBools = defaults ??
options.map((String opt) {
return defaultSelected?.contains(opt) ?? true;
}).toList();
if (PromptEnvironment.useSimplePrompts) {
return _showSimpleMultiSelect(title, options, defaultBools);
}
print('');
try {
final List<int> result = MultiSelect(
prompt: title,
options: options,
defaults: defaultBools,
).interact();
return result;
} on Object {
return _showSimpleMultiSelect(title, options, defaultBools);
}
}