execute method

  1. @override
Future<void> execute(
  1. ArgResults results
)
override

Executes the command using the parsed results.

Implementation

@override
Future<void> execute(
  ArgResults results,
) async {
  if (results.rest.isEmpty) {
    LoggerService.error(
      'Usage: $usage',
    );

    LoggerService.blank();

    LoggerService.info(
      'Available commands:',
    );

    LoggerService.info(
      '  setup',
    );

    LoggerService.info(
      '  generate',
    );

    LoggerService.info(
      '  doctor',
    );

    LoggerService.info(
      '  add',
    );

    LoggerService.info(
      '  validate',
    );

    LoggerService.info(
      '  extract',
    );

    return;
  }

  switch (results.rest.first.toLowerCase()) {
    case 'setup':
      await LocalizationService().setup();
      break;

    case 'generate':
      await LocalizationService().generate();
      break;

    case 'doctor':
      await LocalizationService().doctor();
      break;

    case 'add':
      LoggerService.warning(
        'Not implemented yet.',
      );
      break;

    case 'validate':
      LoggerService.warning(
        'Not implemented yet.',
      );
      break;

    case 'extract':
      LoggerService.warning(
        'Not implemented yet.',
      );
      break;

    default:
      LoggerService.error(
        'Unknown localization command: ${results.rest.first}',
      );

      LoggerService.blank();

      LoggerService.info(
        'Available commands:',
      );

      LoggerService.info(
        '  setup',
      );

      LoggerService.info(
        '  generate',
      );

      LoggerService.info(
        '  doctor',
      );
  }
}