1#[cfg(target_os = "linux")]
2use std::path::PathBuf;
3
4use bpaf::*;
5
6#[derive(Bpaf, Clone, Debug)]
7pub enum SubCommand {
8 #[cfg(target_os = "linux")]
9 Fuse {
10 #[bpaf(argument("MOUNT_POINT"))]
11 mount_point: PathBuf,
12 },
13 Ls {
14 #[bpaf(argument("PATH"))]
15 path: String,
16 },
17}
18
19#[derive(Bpaf, Clone, Debug)]
20#[bpaf(options, version)]
21pub struct Opts {
22 /// handle or DID
23 #[bpaf(long, short, argument("IDENTIFIER"))]
24 pub identifier: String,
25
26 #[bpaf(external(sub_command))]
27 pub cmd: SubCommand,
28}