use clap::{Parser, Subcommand};
use super::project::ProjectCommands;
use super::subtask::SubtaskCommands;
use super::task::TaskCommands;
#[derive(Parser, Debug)]
#[command(name = "tickrs")]
#[command(author, version, about, long_about = None)]
pub struct Cli {
#[arg(long, global = true)]
pub json: bool,
#[arg(long, short = 'q', global = true)]
pub quiet: bool,
#[arg(long, short = 'v', global = true)]
pub verbose: bool,
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand, Debug)]
pub enum Commands {
Init,
Reset {
#[arg(long)]
force: bool,
},
Version,
#[command(subcommand)]
Project(ProjectCommands),
#[command(subcommand)]
Task(TaskCommands),
#[command(subcommand)]
Subtask(SubtaskCommands),
}