pub mod auth;
pub mod issue;
pub mod pipeline;
pub mod pr;
pub mod repo;
use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "bitbucket")]
#[command(author = "Pegasus Heavy Industries")]
#[command(version)]
#[command(about = "A command-line interface for Bitbucket Cloud", long_about = None)]
#[command(propagate_version = true)]
pub struct Cli {
#[command(subcommand)]
pub command: Commands,
#[arg(short, long, global = true)]
pub workspace: Option<String>,
#[arg(short, long, global = true)]
pub repo: Option<String>,
}
#[derive(Subcommand)]
pub enum Commands {
Auth {
#[command(subcommand)]
command: auth::AuthCommands,
},
Repo {
#[command(subcommand)]
command: repo::RepoCommands,
},
Pr {
#[command(subcommand)]
command: pr::PrCommands,
},
Issue {
#[command(subcommand)]
command: issue::IssueCommands,
},
Pipeline {
#[command(subcommand)]
command: pipeline::PipelineCommands,
},
Tui,
}