refactor flag with clap derive api

This commit is contained in:
Clément DOUIN
2023-12-07 10:10:18 +01:00
parent 2c33dd2f9f
commit 5e1a03e3c1
9 changed files with 254 additions and 76 deletions
+9 -3
View File
@@ -7,6 +7,7 @@ use crate::{
completion::command::CompletionGenerateCommand,
config::{self, TomlConfig},
envelope::command::EnvelopeSubcommand,
flag::command::FlagSubcommand,
folder::command::FolderSubcommand,
manual::command::ManualGenerateCommand,
output::{ColorFmt, OutputFmt},
@@ -90,17 +91,21 @@ pub struct Cli {
#[derive(Subcommand, Debug)]
pub enum HimalayaCommand {
/// Subcommand to manage accounts
#[command(subcommand)]
#[command(subcommand, alias = "accounts")]
Account(AccountSubcommand),
/// Subcommand to manage folders
#[command(subcommand)]
#[command(subcommand, alias = "folders")]
Folder(FolderSubcommand),
/// Subcommand to manage envelopes
#[command(subcommand)]
#[command(subcommand, alias = "envelopes")]
Envelope(EnvelopeSubcommand),
/// Subcommand to manage flags
#[command(subcommand, alias = "flags")]
Flag(FlagSubcommand),
/// Generate manual pages to a directory
#[command(arg_required_else_help = true)]
Manual(ManualGenerateCommand),
@@ -116,6 +121,7 @@ impl HimalayaCommand {
Self::Account(cmd) => cmd.execute(printer, config).await,
Self::Folder(cmd) => cmd.execute(printer, config).await,
Self::Envelope(cmd) => cmd.execute(printer, config).await,
Self::Flag(cmd) => cmd.execute(printer, config).await,
Self::Manual(cmd) => cmd.execute(printer).await,
Self::Completion(cmd) => cmd.execute(printer).await,
}