run method

  1. @override
void run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
void run() {
  final options = _parseArguments();

  printMessage(blue('Starting file rename operation...'));
  if (options.verbose) {
    _printOptions(options);
  }

  final files = _findMatchingFiles(options);

  if (files.isEmpty) {
    StatusHelper.warning(
        'No files found matching pattern: ${options.globPattern}');
    return;
  }

  final renameOperations = _planRenameOperations(files, options);

  if (renameOperations.isEmpty) {
    printMessage(green('No files need to be renamed.'));
    return;
  }

  _displayRenamePreview(renameOperations, options);

  if (!options.isDryRun) {
    _executeRenames(renameOperations, options);
  }

  _printSummary(renameOperations, options);
}