ghosttyTerminalResolveTap<PositionT, SelectionT> function
- required GhosttyTerminalSelectionSession<
SelectionT> session, - required SelectionT? selection,
- required PositionT? position,
- required String? resolveUri(
- PositionT position
Resolves the shared tap behavior for a terminal view.
This centralizes the common decision tree used by both terminal widgets: a tap may be ignored after word selection, may open a hyperlink, or may clear the current selection.
Implementation
GhosttyTerminalTapResolution ghosttyTerminalResolveTap<PositionT, SelectionT>({
required GhosttyTerminalSelectionSession<SelectionT> session,
required SelectionT? selection,
required PositionT? position,
required String? Function(PositionT position) resolveUri,
}) {
if (session.consumeIgnoreNextTapClear()) {
return (clearSelection: false, hyperlink: null);
}
final hyperlink = ghosttyTerminalResolveHyperlinkAt<PositionT>(
position,
resolveUri: resolveUri,
);
return (
clearSelection: hyperlink == null && selection != null,
hyperlink: hyperlink,
);
}