deleteSelection static method

void deleteSelection(
  1. TextEditingController textEditingController
)

Deletes the text contents within a selection given a TextEditingController.

Implementation

static void deleteSelection(TextEditingController textEditingController) {
  if (textEditingController.text.isEmpty ||
      textEditingController.selection.isCollapsed) {
    return;
  }

  final selectedText = textEditingController.text.substring(
      textEditingController.selection.start,
      textEditingController.selection.end);

  final newCaretPosition =
      textEditingController.selection.end - selectedText.length;

  textEditingController.text = textEditingController.text
          .substring(0, textEditingController.selection.start) +
      textEditingController.text
          .substring(textEditingController.selection.end);

  textEditingController.selection =
      TextSelection.collapsed(offset: newCaretPosition);
}