summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorMark Jaquith <[email protected]>2025-12-14 22:06:04 -0500
committerGitHub <[email protected]>2025-12-14 21:06:04 -0600
commited33d82535cf23eb48a0c41dce96317aca85ef6e (patch)
tree7a8d4353155d65ce090042d8a576cc9a5655dd28 /packages
parent2d63c22d1a3de36476c2cd8f948b985672374ddd (diff)
downloadopencode-ed33d82535cf23eb48a0c41dce96317aca85ef6e.tar.gz
opencode-ed33d82535cf23eb48a0c41dce96317aca85ef6e.zip
feat(cli): auto-submit prompt when using --prompt flag (#4510)
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx6
-rw-r--r--packages/opencode/src/cli/cmd/tui/routes/home.tsx1
2 files changed, 6 insertions, 1 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 5cc757ac2..784c8648e 100644
--- a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx
+++ b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx
@@ -44,6 +44,7 @@ export type PromptRef = {
reset(): void
blur(): void
focus(): void
+ submit(): void
}
const PLACEHOLDERS = ["Fix a TODO in the codebase", "What is the tech stack of this project?", "Fix broken tests"]
@@ -447,11 +448,14 @@ export function Prompt(props: PromptProps) {
})
setStore("extmarkToPartIndex", new Map())
},
+ submit() {
+ submit()
+ },
})
async function submit() {
if (props.disabled) return
- if (autocomplete.visible) return
+ if (autocomplete?.visible) return
if (!store.prompt.input) return
const trimmed = store.prompt.input.trim()
if (trimmed === "exit" || trimmed === "quit" || trimmed === ":q") {
diff --git a/packages/opencode/src/cli/cmd/tui/routes/home.tsx b/packages/opencode/src/cli/cmd/tui/routes/home.tsx
index d0bb296eb..ecdf93c43 100644
--- a/packages/opencode/src/cli/cmd/tui/routes/home.tsx
+++ b/packages/opencode/src/cli/cmd/tui/routes/home.tsx
@@ -57,6 +57,7 @@ export function Home() {
} else if (args.prompt) {
prompt.set({ input: args.prompt, parts: [] })
once = true
+ prompt.submit()
}
})
const directory = useDirectory()