@@ -8,7 +8,7 @@ import { ClipboardProvider, useClipboard } from "./context/clipboard"
88import { ExitProvider , useExit } from "./context/exit"
99import { EpilogueProvider } from "./context/epilogue"
1010import * as Selection from "./util/selection"
11- import { createCliRenderer , MouseButton , type CliRenderer } from "@opentui/core"
11+ import { createCliRenderer , MouseButton } from "@opentui/core"
1212import { RouteProvider , useRoute } from "./context/route"
1313import {
1414 Switch ,
@@ -183,21 +183,23 @@ export const run = Effect.fn("Tui.run")(function* (input: TuiInput) {
183183 const result = yield * Effect . scoped (
184184 Effect . gen ( function * ( ) {
185185 const renderer = yield * Effect . acquireRelease (
186- Effect . tryPromise ( ( ) =>
187- createCliRenderer ( {
188- externalOutputMode : "passthrough" ,
189- targetFps : 60 ,
190- gatherStats : false ,
191- exitOnCtrlC : false ,
192- useKittyKeyboard : { } ,
193- autoFocus : false ,
194- openConsoleOnError : false ,
195- useMouse : ! Flag . OPENCODE_DISABLE_MOUSE && input . config . mouse ,
196- consoleOptions : {
197- keyBindings : [ { name : "y" , ctrl : true , action : "copy-selection" } ] ,
198- } ,
199- } ) ,
200- ) ,
186+ Effect . tryPromise ( {
187+ try : ( ) =>
188+ createCliRenderer ( {
189+ externalOutputMode : "passthrough" ,
190+ targetFps : 60 ,
191+ gatherStats : false ,
192+ exitOnCtrlC : false ,
193+ useKittyKeyboard : { } ,
194+ autoFocus : false ,
195+ openConsoleOnError : false ,
196+ useMouse : ! Flag . OPENCODE_DISABLE_MOUSE && input . config . mouse ,
197+ consoleOptions : {
198+ keyBindings : [ { name : "y" , ctrl : true , action : "copy-selection" } ] ,
199+ } ,
200+ } ) ,
201+ catch : ( error ) => ( error instanceof Error ? error : new Error ( String ( error ) ) ) ,
202+ } ) ,
201203 ( renderer ) =>
202204 Effect . sync ( ( ) => {
203205 destroyRenderer ( renderer )
0 commit comments