handleHomeKey method

bool handleHomeKey(
  1. KeyEvent event
)

Implementation

bool handleHomeKey(KeyEvent event) {
  if (event.logicalKey == LogicalKeyboardKey.home) {
    final cursor = document.cursor;
    final current = CaretStop(cursor.anchorId, cursor.anchorOffset);
    final result = moveToLineStart(
      document.content, current,
      lines: document.logicalLines,
    );

    if (result.position != null) {
      if (isShiftPressed) {
        cursor.focusTo(result.position!.fragmentId, result.position!.offset);
        _syncSelectionManager(document);
      } else {
        cursor.moveTo(result.position!.fragmentId, result.position!.offset);
        document.selectionManager.collapse();
      }
      document.syncPendingFontWithCursor();
      // Home/End do NOT mutate content: cursor-only update.
      document.cursorOnlyUpdate();
    }
    return true;
  }
  return false;
}