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() async {
  List<String> args = argResults!.rest;

  showUsage(args.isEmpty, () => printUsage());

  final filePath = args[0];

  final file = File(filePath);
  final finalPath = file.absolute.path;

  final deleted = await deleteFromBin(file, sudo: argResults!['sudo'], force: argResults!['force']);

  if (!deleted) {
    out("{@red}Failed to delete '$filePath'{@end}");
    exit(unableToOpenOutputFileForWriting);
  }

  if (argResults!['verbose']) {
    out("{@green}File removed from bin: '$finalPath'{@end}");
  }

  print(finalPath);
  exit(success);
}