♻️ refactor(cli): consolidate rules and labels under config subcommand
- move rules_cli to config_cli - rename rules subcommand to config - simplify cli structure for better user experience
This commit is contained in:
committed by
Jeremiah Russell
parent
661aac7d67
commit
6f96fbac94
17
src/main.rs
17
src/main.rs
@@ -1,18 +1,19 @@
|
||||
use clap::{Parser, Subcommand};
|
||||
|
||||
mod config_cli;
|
||||
mod label_cli;
|
||||
mod message_cli;
|
||||
mod rules_cli;
|
||||
mod trash_cli;
|
||||
|
||||
use cull_gmail::{Config, Error};
|
||||
|
||||
use config_cli::ConfigCli;
|
||||
use label_cli::LabelCli;
|
||||
use message_cli::MessageCli;
|
||||
use rules_cli::RulesCli;
|
||||
use std::error::Error as stdError;
|
||||
|
||||
use trash_cli::TrashCli;
|
||||
|
||||
use std::error::Error as stdError;
|
||||
|
||||
#[derive(Parser, Debug)]
|
||||
#[clap(author, version, about, long_about = None)]
|
||||
struct Cli {
|
||||
@@ -33,9 +34,9 @@ enum Commands {
|
||||
/// Move messages to trash
|
||||
#[clap(name = "trash")]
|
||||
Trash(TrashCli),
|
||||
/// Configure end-of-life rules
|
||||
#[clap(name = "rules")]
|
||||
Rules(RulesCli),
|
||||
/// Configure rules and labels
|
||||
#[clap(name = "config")]
|
||||
Config(ConfigCli),
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
@@ -69,7 +70,7 @@ async fn run(args: Cli) -> Result<(), Error> {
|
||||
Commands::Message(list_cli) => list_cli.run(config.credential_file()).await?,
|
||||
Commands::Labels(label_cli) => label_cli.run(config.credential_file()).await?,
|
||||
Commands::Trash(trash_cli) => trash_cli.run(config.credential_file()).await?,
|
||||
Commands::Rules(config_cli) => config_cli.run(config)?,
|
||||
Commands::Config(config_cli) => config_cli.run(config)?,
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user