use clap::{Parser, Subcommand};
use clap_complete::Shell;
#[derive(Parser, Debug)]
#[command(
name = "lin",
about = "lin — Linear CLI. Manage issues, projects, cycles, and more.",
version
)]
pub struct Cli {
#[arg(long, global = true)]
pub json: bool,
#[arg(long, global = true)]
pub debug: bool,
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand, Debug)]
pub enum Commands {
Api(crate::commands::api::ApiArgs),
Issues(crate::commands::issues::IssuesArgs),
Projects(crate::commands::projects::ProjectsArgs),
Cycles(crate::commands::cycles::CyclesArgs),
Initiatives(crate::commands::initiatives::InitiativesArgs),
Roadmap(crate::commands::roadmap::RoadmapArgs),
Labels(crate::commands::labels::LabelsArgs),
Teams(crate::commands::teams::TeamsArgs),
Relations(crate::commands::relations::RelationsArgs),
Customers(crate::commands::customers::CustomersArgs),
Views(crate::commands::views::ViewsArgs),
Docs(crate::commands::docs::DocsArgs),
Notifications(crate::commands::notifications::NotificationsArgs),
Me(crate::commands::me::MeArgs),
Attachments(crate::commands::attachments::AttachmentsArgs),
Search(crate::commands::search::SearchArgs),
Config(crate::commands::config::ConfigArgs),
Completions {
shell: Shell,
},
}