pub mod commands;
mod utils;
use clap::Parser;
#[derive(Parser, Debug)]
#[command(version, about)]
pub struct Cli {
#[command(subcommand)]
pub command: Command,
}
#[derive(Parser, Debug)]
pub enum Command {
Start {
#[arg(short, long)]
config: Option<String>,
#[arg(short, long, default_value_t = false)]
daemon: bool,
#[arg(
long,
hide_short_help = true,
hide_long_help = true,
default_value_t = false
)]
systemd: bool,
},
Service {
#[command(subcommand)]
command: SystemdSubcommand,
},
Device {
#[command(subcommand)]
command: DeviceSubcommand,
},
}
#[derive(Parser, Debug)]
pub enum SystemdSubcommand {
Start,
Stop,
Restart,
Status,
Install,
Uninstall,
}
#[derive(Parser, Debug)]
pub enum DeviceSubcommand {
List {
#[arg(short, long, default_value_t = false)]
keyboard: bool,
},
}