parsePathFilter function
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,
);
}