textEditingValue property

  1. @override
TextEditingValue textEditingValue
inherited

Gets the current text input.

Implementation

@override
TextEditingValue get textEditingValue {
  return widget.configurations.controller.plainTextEditingValue;
}
void textEditingValue=(TextEditingValue value)
inherited

Implementation

set textEditingValue(TextEditingValue value) {
  final cursorPosition = value.selection.extentOffset;
  final oldText = widget.configurations.controller.document.toPlainText();
  final newText = value.text;
  final diff = getDiff(oldText, newText, cursorPosition);
  if (diff.deleted == '' && diff.inserted == '') {
    // Only changing selection range
    widget.configurations.controller
        .updateSelection(value.selection, ChangeSource.local);
    return;
  }

  widget.configurations.controller.replaceTextWithEmbeds(
      diff.start, diff.deleted.length, diff.inserted, value.selection);
}