scan method

Future<List<FsFolder>> scan(
  1. String root, {
  2. bool recursive = false,
  3. List<String> recursionExclude = const [],
})

Scan for folders starting from root.

recursive - If true, descend into subdirectories. recursionExclude - Patterns to skip during recursive descent.

Implementation

Future<List<FsFolder>> scan(
  String root, {
  bool recursive = false,
  List<String> recursionExclude = const [],
}) async {
  final folders = <FsFolder>[];
  final rootDir = Directory(root);

  if (!rootDir.existsSync()) {
    return folders;
  }

  await _scanDirectory(
    rootDir,
    folders,
    recursive: recursive,
    recursionExclude: recursionExclude,
    isRoot: true, // Don't skip the initial scan directory
  );

  return folders;
}