Просмотр исходного кода

feat(cli): auto-submit prompt when using --prompt flag (#4510)

Mark Jaquith 2 месяцев назад
Родитель
Сommit
ed33d82535

+ 5 - 1
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") {

+ 1 - 0
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()