summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx31
1 files changed, 19 insertions, 12 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx
index 7835539ed..785eb7e4b 100644
--- a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx
+++ b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx
@@ -115,15 +115,11 @@ export function Prompt(props: PromptProps) {
{
title: "Clear prompt",
value: "prompt.clear",
- disabled: true,
category: "Prompt",
+ disabled: true,
onSelect: (dialog) => {
input.extmarks.clear()
- setStore("prompt", {
- input: "",
- parts: [],
- })
- setStore("extmarkToPartIndex", new Map())
+ input.clear()
dialog.clear()
},
},
@@ -156,16 +152,27 @@ export function Prompt(props: PromptProps) {
}
},
},
+ {
+ title: "Interrupt session",
+ value: "session.interrupt",
+ keybind: "session_interrupt",
+ category: "Session",
+ disabled: true,
+ onSelect: (dialog) => {
+ if (!props.sessionID) return
+ sdk.client.session.abort({
+ path: {
+ id: props.sessionID,
+ },
+ })
+ dialog.clear()
+ },
+ },
]
})
sdk.event.on(TuiEvent.PromptAppend.type, (evt) => {
- setStore(
- "prompt",
- produce((draft) => {
- draft.input += evt.properties.text
- }),
- )
+ input.insertText(evt.properties.text)
})
createEffect(() => {