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 {
tracing::warn!(
session = args.session_id.as_deref().unwrap_or("<recent>"),
output = args.output.as_deref().unwrap_or("<stdout>"),
format = ?args.format,
clipboard = args.clipboard,
sanitize = args.sanitize,
"Export — not yet implemented"
);
EXIT_SUCCESS
}