This commit is contained in:
askiiart 2024-12-22 18:26:40 -06:00
parent 5b035fe12c
commit 14b4f08147
Signed by untrusted user who does not match committer: askiiart
GPG key ID: EA85979611654C30
3 changed files with 50 additions and 29 deletions

View file

@ -13,36 +13,26 @@ pub enum Commands {
GenCompletion {
#[command(subcommand)]
shell: ShellCommands,
#[arg(short, long, default_value = "gregory")]
binary_name: String,
},
///Runs it
Run {
#[arg(short, long)]
///Path to the config file
#[arg(short, long, default_value = "gregory.yml")]
config: String,
/* Not yet supported
#[arg(short, long)]
daemonize: bool,
*/
},
}
#[derive(Subcommand, Debug)]
pub enum ShellCommands {
Bash {
#[arg(short, long, default_value = "gregory")]
binary_name: String,
},
Zsh {
#[arg(short, long, default_value = "gregory")]
binary_name: String,
},
Fish {
#[arg(short, long, default_value = "gregory")]
binary_name: String,
},
Elvish {
#[arg(short, long, default_value = "gregory")]
binary_name: String,
},
PowerShell {
#[arg(short, long, default_value = "gregory")]
binary_name: String,
},
Bash,
Zsh,
Fish,
Elvish,
Powershell,
}

View file

@ -12,26 +12,25 @@ fn main() {
let cli = Cli::parse();
match cli.command {
Commands::GenCompletion { shell } => match shell {
ShellCommands::Bash { binary_name } => {
Commands::GenCompletion { shell, binary_name } => match shell {
ShellCommands::Bash => {
generate(Bash, &mut Cli::command(), binary_name, &mut stdout());
}
ShellCommands::Zsh { binary_name } => {
ShellCommands::Zsh => {
generate(Zsh, &mut Cli::command(), binary_name, &mut stdout());
}
ShellCommands::Fish { binary_name } => {
ShellCommands::Fish => {
generate(Fish, &mut Cli::command(), binary_name, &mut stdout());
}
ShellCommands::Elvish { binary_name } => {
ShellCommands::Elvish => {
generate(Elvish, &mut Cli::command(), binary_name, &mut stdout());
}
ShellCommands::PowerShell { binary_name } => {
ShellCommands::Powershell => {
generate(PowerShell, &mut Cli::command(), binary_name, &mut stdout());
}
},
Commands::Run { config, daemonize } => {
Commands::Run { config} => {
println!("{}", config);
println!("{}", daemonize)
}
}
}