helix/dna/cmd/
preview.rs

1use clap::Args;
2use std::path::PathBuf;
3use crate::mds::preview::preview_command;
4
5#[derive(Args, Debug)]
6pub struct PreviewArgs {
7    /// File to preview
8    #[arg(short, long)]
9    file: PathBuf,
10
11    /// Output format (optional)
12    #[arg(short, long)]
13    format: Option<String>,
14
15    /// Number of rows to preview (optional, default: 10)
16    #[arg(short, long)]
17    rows: Option<usize>,
18
19    /// Columns to display (comma-separated, optional)
20    #[arg(short, long)]
21    columns: Option<Vec<String>>,
22
23    /// Verbose output
24    #[arg(short, long, default_value_t = false)]
25    verbose: bool,
26}
27
28pub fn run(args: PreviewArgs) -> anyhow::Result<()> {
29    preview_command(
30        args.file,
31        args.format,
32        args.rows,
33        args.columns,
34        args.verbose,
35    ).map_err(|e| anyhow::anyhow!("Preview command failed: {}", e))?;
36    Ok(())
37}