selectEnvironmentInteractive method

String? selectEnvironmentInteractive(
  1. List<String> environments
)

Implementation

String? selectEnvironmentInteractive(List<String> environments) {
  print('\nAvailable Environments:');
  for (var i = 0; i < environments.length; i++) {
    print('${i + 1}. ${environments[i]}');
  }
  stdout.write('\nSelect environment (1-${environments.length}) or "q" to quit: ');
  final input = stdin.readLineSync();

  if (input == null || input.toLowerCase() == 'q') return null;

  final index = int.tryParse(input);
  if (index != null && index > 0 && index <= environments.length) {
    return environments[index - 1];
  }

  logger.warning('Invalid selection.');
  return selectEnvironmentInteractive(environments);
}