handleSearch method

Future<void> handleSearch(
  1. ArgResults argResults
)

Implementation

Future<void> handleSearch(ArgResults argResults) async {
  final args = argResults.rest.sublist(1);
  if (args.isEmpty) _exit('Usage: search <query>');

  await _prepareClient();
  final query = args[0];
  final detailed = argResults['uuids'];

  print("\ud83d\udd0d Searching for '$query'...");
  final results = await client.search(query, detailed: detailed);
  final folders = results['folders']!;
  final files = results['files']!;

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

  print("\n" + "=" * 60);
  if (files.isNotEmpty) {
    print("\ud83d\udcc4 Files (${files.length}):");
    for (var f in files) {
      final displayName = f['fullPath'] ?? f['name'];
      print("  \ud83d\udcc4 $displayName (${f['uuid'].substring(0, 8)}...)");
    }
  }
  print("=" * 60);
}