feat: add clap_complete for generating completion files

`ahab generate <shell>` can now be used to generte completion files for
this tool.
This commit is contained in:
2023-05-27 13:26:35 +02:00
parent a9a5e401dc
commit 61e7556997
4 changed files with 28 additions and 1 deletions

View File

@@ -1,7 +1,7 @@
use ahab::{cli, scripts};
use anyhow::Result;
use clap::Parser;
use clap::{CommandFactory, Parser};
fn main() -> Result<()> {
// always load dotenv on start
@@ -13,6 +13,15 @@ fn main() -> Result<()> {
let args = cli::Ahab::parse();
match args.command {
cli::Commands::Completion { shell } => {
clap_complete::generate(
shell,
&mut cli::Ahab::command(),
"ahab",
&mut std::io::stdout(),
);
Ok(())
}
cli::Commands::D { command } => match command {
cli::Docker::StopAll => scripts::docker::stop_all(),
},