parseGlobPatterns function
Split glob patterns, preserving brace expressions.
E.g. "*.{ts,tsx} *.dart" -> "*.{ts,tsx}", "*.dart"
Implementation
List<String> parseGlobPatterns(String glob) {
final patterns = <String>[];
final rawPatterns = glob.split(RegExp(r'\s+'));
for (final raw in rawPatterns) {
if (raw.isEmpty) continue;
// If pattern contains braces, don't split further
if (raw.contains('{') && raw.contains('}')) {
patterns.add(raw);
} else {
// Split on commas for patterns without braces
patterns.addAll(raw.split(',').where((s) => s.isNotEmpty));
}
}
return patterns;
}