cli: -p PROMPT means one-shot prompt, not --provider alias
ober
df7972a929fdacacd33729c0b47cdfc725bf1522
--- a/main-binary.ss +++ b/main-binary.ss @@ -10,9 +10,11 @@ (define (has-positional-args? args) (cond ((null? args) #f) + ;; -p starts the one-shot prompt: everything after is positional. + ((equal? (car args) "-p") (pair? (cdr args))) ((member (car args) '("--help" "-h" "--version" "-v" "--debug" "-d" "--tui" "--no-tui" "--verbose" "--repl" "--no-mcp")) (has-positional-args? (cdr args))) - ((member (car args) '("--model" "-m" "--provider" "-p" "--repl-port" "--trace")) + ((member (car args) '("--model" "-m" "--provider" "--repl-port" "--trace")) (if (null? (cdr args)) #f (has-positional-args? (cddr args)))) (else #t))) --- a/src/jcode/ui/cli.ss +++ b/src/jcode/ui/cli.ss @@ -110,8 +110,11 @@ (loop (cddr args) (cons (cons '--model (cadr args)) opts))) ((and (equal? (car args) "--provider") (pair? (cdr args))) (loop (cddr args) (cons (cons '--provider (cadr args)) opts))) + ;; -p PROMPT: stop flag parsing; rest of argv is the one-shot prompt. + ;; (Claude Code convention; jcode's earlier alias of -p to --provider + ;; collided with users' natural `jcode -p "..."` invocations.) ((and (equal? (car args) "-p") (pair? (cdr args))) - (loop (cddr args) (cons (cons '--provider (cadr args)) opts))) + (cons (cons '-- (cdr args)) (reverse opts))) (else (cons (cons '-- args) (reverse opts)))))) (def *no-mcp* #f) @@ -144,7 +147,8 @@ OPTIONS: -v, --version Show version -d, --debug Enable debug logging -m, --model Model to use (default: claude-sonnet-4-20250514) - -p, --provider Provider to use (default: anthropic) + --provider Provider to use (default: anthropic) + -p PROMPT One-shot prompt; everything after -p is the prompt --tui Launch terminal UI mode --no-tui Force line-mode REPL (default) --no-mcp Skip MCP server initialization --- a/src/jcode/ui/tui.ss +++ b/src/jcode/ui/tui.ss @@ -236,9 +236,6 @@ ((and (equal? (car args) "--provider") (pair? (cdr args))) (current-provider-override (cadr args)) (loop (cddr args))) - ((and (equal? (car args) "-p") (pair? (cdr args))) - (current-provider-override (cadr args)) - (loop (cddr args))) ((and (equal? (car args) "--model") (pair? (cdr args))) (current-model-override (cadr args)) (loop (cddr args)))