use clap::{Parser, Subcommand}; #[derive(Parser)] #[command(name = "codehub", about = "CodeHub from your terminal")] struct Cli { #[command(subcommand)] command: Commands, } #[derive(Subcommand)] enum Commands { Repo { name: String }, Issue { number: u32 }, } fn main() { let cli = Cli::parse(); match cli.command { Commands::Repo { name } => println!("Opening {name}"), Commands::Issue { number } => println!("Issue #{number}"), } }