parsePathFilter function

PathFilter parsePathFilter(
  1. ArgResults results, {
  2. Iterable<String> defaultExcludes = const [],
})

Parses a PathFilter from the standard --exclude and --ignore-generated options in results.

Implementation

PathFilter parsePathFilter(
  ArgResults results, {
  Iterable<String> defaultExcludes = const [],
}) {
  final rawExcludes = results.options.contains('exclude')
      ? results.multiOption('exclude')
      : const <String>[];
  final userExcludes = rawExcludes
      .expand((e) => e.split(','))
      .map((e) => e.trim())
      .where((e) => e.isNotEmpty);

  final ignoreGenerated = results.options.contains('ignore-generated')
      ? results.flag('ignore-generated')
      : true;

  return PathFilter(
    excludePatterns: [...defaultExcludes, ...userExcludes],
    ignoreGenerated: ignoreGenerated,
  );
}