substringMatch function
Standard substring matcher with scoring.
Returns null if pattern not found, otherwise returns score and indices.
Implementation
RankResult? substringMatch(String text, String pattern) {
if (pattern.isEmpty) return const RankResult(0, []);
final idx = text.toLowerCase().indexOf(pattern.toLowerCase());
if (idx == -1) return null;
// Score based on position (earlier = better)
final score = 100000 - idx * 100;
final indices = List<int>.generate(pattern.length, (i) => idx + i);
return RankResult(score, indices);
}