deleteWordBackward function
Implementation
TextCommandResult deleteWordBackward(
List<String> graphemes, {
required int cursorOffset,
int? selectionBaseOffset,
int? selectionExtentOffset,
required nav.GraphemePredicate isWord,
}) {
if (cursorOffset <= 0) {
return _unchangedResult(
graphemes,
cursorOffset: cursorOffset,
selectionBaseOffset: selectionBaseOffset,
selectionExtentOffset: selectionExtentOffset,
);
}
final range = nav.deleteWordBackwardRange(
graphemes,
cursorOffset,
isWord: isWord,
);
if (range.start >= cursorOffset) {
return _unchangedResult(
graphemes,
cursorOffset: cursorOffset,
selectionBaseOffset: selectionBaseOffset,
selectionExtentOffset: selectionExtentOffset,
);
}
final result = edit_ops.removeRange(
graphemes,
start: range.start,
end: cursorOffset,
);
return TextCommandResult(
graphemes: result.graphemes,
cursorOffset: result.cursorOffset,
);
}