moveCursorByCharacter function
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,
);
}