import { useRenderer } from "@opentui/solid" import { createSimpleContext } from "./helper" import { FormatError } from "@/cli/error" export const { use: useExit, provider: ExitProvider } = createSimpleContext({ name: "Exit", init: (input: { onExit?: () => Promise }) => { const renderer = useRenderer() return async (reason?: any) => { renderer.destroy() await input.onExit?.() if (reason) { const formatted = FormatError(reason) ?? JSON.stringify(reason) process.stderr.write(formatted + "\n") } process.exit(0) } }, })