(state: State, options: ToggleOptions)
| 68 | } |
| 69 | |
| 70 | function renderNextFrame(state: State, options: ToggleOptions) { |
| 71 | return Effect.gen(function*() { |
| 72 | const terminal = yield* Terminal.Terminal |
| 73 | const figures = yield* InternalAnsiUtils.figures |
| 74 | const columns = yield* terminal.columns |
| 75 | const leadingSymbol = Doc.annotate(Doc.text("?"), Ansi.cyanBright) |
| 76 | const trailingSymbol = Doc.annotate(figures.pointerSmall, Ansi.blackBright) |
| 77 | const toggle = renderToggle(state, options) |
| 78 | const promptMsg = renderOutput(toggle, leadingSymbol, trailingSymbol, options) |
| 79 | return Doc.cursorHide.pipe( |
| 80 | Doc.cat(promptMsg), |
| 81 | Optimize.optimize(Optimize.Deep), |
| 82 | Doc.render({ style: "pretty", options: { lineWidth: columns } }) |
| 83 | ) |
| 84 | }) |
| 85 | } |
| 86 | |
| 87 | function renderSubmission(value: boolean, options: ToggleOptions) { |
| 88 | return Effect.gen(function*() { |
no test coverage detected
searching dependent graphs…