pub mod completions;
pub mod sleep;
pub mod timeout;
pub mod wait;
use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "standby")]
#[command(about = "A world-class cross-platform time management tool", long_about = None)]
#[command(version)]
pub struct Cli {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand)]
pub enum Commands {
Sleep(sleep::SleepArgs),
Timeout(timeout::TimeoutArgs),
Wait(wait::WaitArgs),
Completions(completions::CompletionsArgs),
}
impl Cli {
pub fn execute(self) -> crate::Result<()> {
match self.command {
Commands::Sleep(args) => sleep::execute(args),
Commands::Timeout(args) => timeout::execute(args),
Commands::Wait(args) => wait::execute(args),
Commands::Completions(args) => completions::execute(args),
}
}
}