MCPcopy Create free account
hub / github.com/anomalyco/opencode / handleSelectionKey

Function handleSelectionKey

packages/tui/src/util/selection.ts:46–77  ·  view source on GitHub ↗
(
  renderer: Renderer,
  toast: Toast,
  event: SelectionKeyEvent,
  clipboard: ClipboardService,
)

Source from the content-addressed store, hash-verified

44}
45
46export function handleSelectionKey(
47 renderer: Renderer,
48 toast: Toast,
49 event: SelectionKeyEvent,
50 clipboard: ClipboardService,
51) {
52 const selection = renderer.getSelection()
53 if (!selection) return
54
55 if (event.ctrl && event.name === "c") {
56 if (!copy(renderer, toast, clipboard)) {
57 renderer.clearSelection()
58 return
59 }
60
61 event.preventDefault()
62 event.stopPropagation()
63 return
64 }
65
66 if (event.name === "escape") {
67 renderer.clearSelection()
68 event.preventDefault()
69 event.stopPropagation()
70 return
71 }
72
73 const focus = renderer.currentFocusedRenderable
74 if (focus?.hasSelection() && selection.selectedRenderables.includes(focus)) return
75
76 renderer.clearSelection()
77}
78
79export * as Selection from "./selection"

Callers

nothing calls this directly

Calls 1

copyFunction · 0.70

Tested by

no test coverage detected