1use clap::{Parser, ValueEnum};
2
3
4
5#[derive(Parser, Debug, Clone, Default)]
6#[command(
7 name = "ent",
8 version,
9 author,
10 about = "Like tree but better",
11 long_about = None
12)]
13pub struct Cli {
14
15 pub path: Option<String>,
17
18 #[clap(short, long)]
20 pub depth: Option<usize>,
21
22 #[clap(short, long, conflicts_with_all = &["dirs_only", "files_only"])]
24 pub all: bool,
25
26 #[clap(short = 'D', long = "dirs-only")]
28 pub dirs_only: bool,
29
30 #[clap(short = 'F', long = "files-only")]
32 pub files_only: bool,
33
34 #[clap(short, long)]
36 pub ignored: bool,
37
38 #[clap(short = 'H', long)]
40 pub hidden: bool,
41
42 #[clap(short, long, value_enum)]
44 pub export: Option<Format>,
45}
46
47#[derive(Parser, Debug, Clone, ValueEnum)]
48pub enum Format {
49 Json,
50}