1use clap::{Parser, Subcommand};
2use std::path::PathBuf;
3
4#[derive(Parser)]
5#[clap(version, about, long_about = None)]
6pub struct Cli {
7 #[clap(subcommand)]
8 pub command: Commands,
9}
10
11#[derive(Subcommand)]
12pub enum Commands {
13 #[clap(about = "Copy a file to a remote host", alias = "r")]
14 Receive {
15 #[clap(help = "Remote source to copy from")]
16 source: String,
17
18 #[clap(help = "Local destination to copy to")]
19 destination: String,
20
21 #[clap(long, help = "Remote host to connect to")]
22 host: String,
23
24 #[clap(
25 short,
26 long,
27 help = "Remote username to connect as",
28 default_value = "root"
29 )]
30 user: String,
31
32 #[clap(short, long, help = "Path to private key")]
33 private_key: Option<PathBuf>,
34
35 #[clap(help = "Replace the file if it exists", long, default_value = "false")]
36 replace: bool,
37 },
38}