use clap::{Args, ValueEnum};
use crate::runtime::{EXIT_SUCCESS, ExitCode};
#[derive(Args)]
pub struct ExportArgs {
#[arg(value_name = "SESSION_ID")]
pub session_id: Option<String>,
#[arg(short, long, value_name = "PATH")]
pub output: Option<String>,
#[arg(long, value_name = "FORMAT", default_value = "json")]
pub format: ExportFormat,
#[arg(short, long)]
pub clipboard: bool,
#[arg(long)]
pub sanitize: bool,
}
#[derive(Clone, Copy, Debug, Default, ValueEnum)]
pub enum ExportFormat {
#[default]
Json,
Markdown,
Zip,
}
pub fn handle(args: &ExportArgs) -> ExitCode {
eprintln!(
"Export — not yet implemented (session: {}, output: {}, format: {:?}, clipboard: {}, sanitize: {})",
args.session_id.as_deref().unwrap_or("<recent>"),
args.output.as_deref().unwrap_or("<stdout>"),
args.format,
args.clipboard,
args.sanitize,
);
EXIT_SUCCESS
}