promptPlatforms static method
Implementation
static Future<List<Platform>> promptPlatforms() async {
print('? Select target platforms (enter numbers separated by commas):');
print(' 1. Android');
print(' 2. iOS');
print(' 3. Web');
print(' 4. macOS');
print(' 5. Windows');
print(' 6. Linux');
stdout.write('Selected platforms (default: 1,2,3): ');
final input = stdin.readLineSync()?.trim() ?? '';
if (input.isEmpty) {
return [Platform.android, Platform.ios, Platform.web];
}
final selectedNumbers = input.split(',').map((s) => int.tryParse(s.trim())).where((n) => n != null).toList();
final platforms = <Platform>[];
for (final number in selectedNumbers) {
switch (number) {
case 1:
platforms.add(Platform.android);
break;
case 2:
platforms.add(Platform.ios);
break;
case 3:
platforms.add(Platform.web);
break;
case 4:
platforms.add(Platform.macos);
break;
case 5:
platforms.add(Platform.windows);
break;
case 6:
platforms.add(Platform.linux);
break;
}
}
return platforms.isNotEmpty ? platforms : [Platform.android, Platform.ios, Platform.web];
}