codeShouldAutoPairSymmetricDelimiter function

bool codeShouldAutoPairSymmetricDelimiter(
  1. String text,
  2. int offset, {
  3. bool hasSelection = false,
})

Implementation

bool codeShouldAutoPairSymmetricDelimiter(
  String text,
  int offset, {
  bool hasSelection = false,
}) {
  if (hasSelection) {
    return true;
  }

  final before = offset > 0 ? text[offset - 1] : '';
  final after = offset < text.length ? text[offset] : '';
  final beforeBlocksPair =
      before.isNotEmpty && RegExp(r'[\w\\]').hasMatch(before);
  if (beforeBlocksPair) {
    return false;
  }

  return after.isEmpty || RegExp(r'[\s\]\)\}\>,.;:]').hasMatch(after);
}