updateLineCount method

void updateLineCount(
  1. String event,
  2. RegionPosition region
)

Implementation

void updateLineCount(String event, RegionPosition region) async {
  if (!mounted) return;
  late String lines;

  if (widget.options.regionOptions != null) {
    switch (region) {
      case RegionPosition.before:
        lines = event +
            (event.isNotEmpty ? '\n' : '') +
            inController.text +
            (afterController.text.isNotEmpty ? '\n' : '') +
            afterController.text;
        break;
      case RegionPosition.inner:
        lines = beforeController.text +
            (beforeController.text.isNotEmpty ? '\n' : '') +
            event +
            (afterController.text.isNotEmpty ? '\n' : '') +
            afterController.text;
        break;
      case RegionPosition.after:
        lines = beforeController.text +
            (beforeController.text.isNotEmpty ? '\n' : '') +
            inController.text +
            (event.isNotEmpty ? '\n' : '') +
            event;
        break;
    }
  } else {
    lines = event;
  }

  setState(() {
    _currNumLines = lines.split('\n').length;
  });
}