isHr function

bool isHr(
  1. String trimmed
)

Thematic break: 3+ of -, *, or _ (optionally space-separated), or .

Implementation

bool isHr(String trimmed) {
  final t = trimmed.trim();
  if (t == '⸻') {
    return true;
  }
  if (t.isEmpty) {
    return false;
  }
  final first = t[0];
  if (first != '-' && first != '*' && first != '_') {
    return false;
  }
  var count = 0;
  for (var i = 0; i < t.length; i++) {
    final c = t[i];
    if (c == first) {
      count += 1;
    } else if (c == ' ') {
      continue;
    } else {
      return false;
    }
  }
  return count >= 3;
}