deleteNextOrSelection function

TextCommandResult deleteNextOrSelection(
  1. List<String> graphemes, {
  2. required int cursorOffset,
  3. int? selectionBaseOffset,
  4. int? selectionExtentOffset,
})

Implementation

TextCommandResult deleteNextOrSelection(
  List<String> graphemes, {
  required int cursorOffset,
  int? selectionBaseOffset,
  int? selectionExtentOffset,
}) {
  final deletedSelection = deleteSelection(
    graphemes,
    selectionBaseOffset: selectionBaseOffset,
    selectionExtentOffset: selectionExtentOffset,
    cursorOffset: cursorOffset,
  );
  if (deletedSelection.changed) {
    return deletedSelection;
  }

  final result = edit_ops.deleteNextGrapheme(graphemes, cursorOffset);
  return TextCommandResult(
    graphemes: result.graphemes,
    cursorOffset: result.cursorOffset,
    changed:
        result.cursorOffset != cursorOffset ||
        result.graphemes.length != graphemes.length,
  );
}