1use std::path::PathBuf;
2
3use clap::Parser;
4
5#[derive(Parser, Debug)]
7#[command(version, about, long_about = None)]
8pub struct CliArgs {
9 pub(crate) root: Option<PathBuf>,
11
12 #[arg(short = 'w', long = "where", value_name = "FILTER")]
14 pub(crate) filter: Vec<String>,
15
16 #[arg(short, long, value_name = "ORDER BY")]
18 pub(crate) order_by: Option<String>,
19
20 #[arg(short = 'x', long)]
22 pub(crate) max_depth: Option<usize>,
23
24 #[arg(short = 'n', long)]
26 pub(crate) min_depth: Option<usize>,
27
28 #[arg(short, long)]
30 pub(crate) limit: Option<usize>,
31
32 #[arg(short, long)]
34 pub(crate) display: Option<String>,
35
36 #[arg(long, default_value = "`")]
38 pub(crate) interpolation_start: String,
39
40 #[arg(long, default_value = "`")]
42 pub(crate) interpolation_end: String,
43
44 #[arg(long, default_value_t = false)]
46 pub(crate) node_first: bool,
47}