handleFind method

Future<void> handleFind(
  1. ArgResults argResults
)

Implementation

Future<void> handleFind(ArgResults argResults) async {
  final args = argResults.rest.sublist(1);
  if (args.length < 2) _exit('Usage: find <path> <pattern>');

  await _prepareClient();
  final path = args[0];
  final pattern = args[1];
  final maxDepth = int.tryParse(argResults['maxdepth'] ?? '-1') ?? -1;

  print("\ud83d\udd0d Finding files matching '$pattern' in '$path'...");
  final results = await client.findFiles(path, pattern, maxDepth: maxDepth);

  if (results.isEmpty) {
    print("\n\ud83d\udced No results found.");
    return;
  }

  print("\n" + "=" * 60);
  print("\ud83d\udcc4 Found Files (${results.length}):");
  for (var file in results) {
    final size = formatSize(file['size'] ?? 0);
    print("  ${file['fullPath']}  ($size)");
  }
  print("=" * 60);
}