📄 File detail
hooks/useExitOnCtrlCDWithKeybindings.ts
🧩 .ts📏 25 lines💾 948 bytes📝 text
← Back to All Files🎯 Use case
This file lives under “hooks/”, which covers reusable UI or integration hooks. On the API surface it exposes useExitOnCtrlCDWithKeybindings — mainly functions, hooks, or classes. It composes internal code from keybindings and useExitOnCtrlCD (relative imports).
Generated from folder role, exports, dependency roots, and inline comments — not hand-reviewed for every path.
🧠 Inline summary
import { useKeybindings } from '../keybindings/useKeybinding.js' import { type ExitState, useExitOnCtrlCD } from './useExitOnCtrlCD.js' export type { ExitState }
📤 Exports (heuristic)
useExitOnCtrlCDWithKeybindings
🖥️ Source preview
import { useKeybindings } from '../keybindings/useKeybinding.js'
import { type ExitState, useExitOnCtrlCD } from './useExitOnCtrlCD.js'
export type { ExitState }
/**
* Convenience hook that wires up useExitOnCtrlCD with useKeybindings.
*
* This is the standard way to use useExitOnCtrlCD in components.
* The separation exists to avoid import cycles - useExitOnCtrlCD.ts
* doesn't import from the keybindings module directly.
*
* @param onExit - Optional custom exit handler
* @param onInterrupt - Optional callback for features to handle interrupt (ctrl+c).
* Return true if handled, false to fall through to double-press exit.
* @param isActive - Whether the keybinding is active (default true).
*/
export function useExitOnCtrlCDWithKeybindings(
onExit?: () => void,
onInterrupt?: () => boolean,
isActive?: boolean,
): ExitState {
return useExitOnCtrlCD(useKeybindings, onInterrupt, onExit, isActive)
}