getFormatText method

TextEditingValue getFormatText(
  1. TextEditingValue oldValue,
  2. TextEditingValue newValue
)

Implementation

TextEditingValue getFormatText(
  TextEditingValue oldValue,
  TextEditingValue newValue,
) {
  int offset = newValue.selection.baseOffset;

  String text = transformText(
      text: newValue.text,
      onPattern: (int separatorIndex) =>
          separatorIndex + 1 == offset ? offset += 1 : offset);

  return TextEditingValue(
    text: text,
    selection: TextSelection.fromPosition(
      TextPosition(
        offset: offset >= pattern.length ? pattern.length : offset,
      ),
    ),
  );
}