moveCursorByCharacter function

TextCursorCommandResult moveCursorByCharacter(
  1. List<String> graphemes, {
  2. required int cursorOffset,
  3. int? selectionBaseOffset,
  4. int? selectionExtentOffset,
  5. required bool forward,
  6. bool extendSelection = false,
  7. bool clearSelection = true,
  8. bool preserveCollapsedSelection = false,
})

Implementation

TextCursorCommandResult moveCursorByCharacter(
  List<String> graphemes, {
  required int cursorOffset,
  int? selectionBaseOffset,
  int? selectionExtentOffset,
  required bool forward,
  bool extendSelection = false,
  bool clearSelection = true,
  bool preserveCollapsedSelection = false,
}) {
  final targetOffset = forward
      ? (cursorOffset + 1).clamp(0, graphemes.length)
      : (cursorOffset - 1).clamp(0, graphemes.length);
  return moveCursorToOffset(
    textLength: graphemes.length,
    cursorOffset: cursorOffset,
    selectionBaseOffset: selectionBaseOffset,
    selectionExtentOffset: selectionExtentOffset,
    targetOffset: targetOffset,
    extendSelection: extendSelection,
    clearSelection: clearSelection,
    preserveCollapsedSelection: preserveCollapsedSelection,
  );
}