find method

  1. @override
Future<List<String>> find({
  1. String? glob,
  2. int? limit,
})
override

Finds files whose workspace-relative path matches glob (returns up to limit paths).

Implementation

@override
Future<List<String>> find({String? glob, int? limit}) async {
  final cap = limit ?? config.maxResults;
  final results = <String>[];
  await for (final ent in Directory(
    root,
  ).list(recursive: true, followLinks: false)) {
    if (ent is! File) continue;
    final rel = _relativeOf(ent.path);
    if (_ignored(rel)) continue;
    if (!matchesGlob(rel, glob)) continue;
    results.add(rel);
    if (results.length >= cap) break;
  }
  results.sort();
  return results;
}