use clap::Args;
use crate::runtime::{EXIT_SUCCESS, ExitCode};
#[derive(Args, Default)]
pub struct RunArgs {
#[arg(value_name = "PROMPT")]
pub prompt: Vec<String>,
#[arg(short = 'm', long = "model", value_name = "MODEL")]
pub model: Option<String>,
#[arg(long = "output-format", value_name = "FORMAT", default_value = "text")]
pub output_format: String,
#[arg(short, long)]
pub r#continue: bool,
#[arg(short, long, value_name = "SESSION_ID")]
pub session: Option<String>,
#[arg(long)]
pub fork: bool,
#[arg(short, long = "file", value_name = "FILE")]
pub files: Vec<String>,
#[arg(short, long)]
pub brave: bool,
}
pub fn handle(args: &RunArgs) -> ExitCode {
let prompt = args.prompt.join(" ");
eprintln!(
"Run — not yet implemented (prompt: {}, model: {:?}, format: {}, continue: {}, session: {:?}, fork: {}, files: {:?}, brave: {})",
if prompt.is_empty() { "<none>" } else { &prompt },
args.model,
args.output_format,
args.r#continue,
args.session,
args.fork,
args.files,
args.brave,
);
EXIT_SUCCESS
}