From 9773327e86a88f4d3ec8ca929520768fd86cc627 Mon Sep 17 00:00:00 2001 From: Jeremiah Russell Date: Fri, 31 Oct 2025 12:10:08 +0000 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor(cli):=20rename=20?= =?UTF-8?q?rule=20management=20subcommands=20for=20clarity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - rename `add`, `rm`, and `action` subcommands to `add-rule`, `remove-rule`, and `set-action-on-rule` respectively to improve clarity - update corresponding modules and structs to reflect the renaming, enhancing code readability and maintainability --- src/cli/rules_cli/config_cli.rs | 20 +++++++++---------- .../{action_cli.rs => action_rule_cli.rs} | 4 ++-- .../{add_cli.rs => add_rule_cli.rs} | 4 ++-- .../config_cli/{rm_cli.rs => rm_rule_cli.rs} | 4 ++-- 4 files changed, 16 insertions(+), 16 deletions(-) rename src/cli/rules_cli/config_cli/{action_cli.rs => action_rule_cli.rs} (94%) rename src/cli/rules_cli/config_cli/{add_cli.rs => add_rule_cli.rs} (96%) rename src/cli/rules_cli/config_cli/{rm_cli.rs => rm_rule_cli.rs} (94%) diff --git a/src/cli/rules_cli/config_cli.rs b/src/cli/rules_cli/config_cli.rs index 30cb91c..e643837 100644 --- a/src/cli/rules_cli/config_cli.rs +++ b/src/cli/rules_cli/config_cli.rs @@ -1,11 +1,11 @@ use clap::{Parser, Subcommand}; -mod action_cli; -mod add_cli; +mod action_rule_cli; +mod add_rule_cli; mod label_cli; -mod rm_cli; +mod rm_rule_cli; -use action_cli::ActionCli; +use action_rule_cli::ActionRuleCli; use cull_gmail::{Result, Rules}; use label_cli::LabelCli; @@ -15,17 +15,17 @@ enum SubCmds { #[clap(name = "list")] List, /// Add a rules to the config file - #[clap(name = "add")] - Add(add_cli::AddCli), + #[clap(name = "add-rule")] + Add(add_rule_cli::AddRuleCli), /// Remove a rule from the config file - #[clap(name = "remove", alias = "rm")] - Remove(rm_cli::RmCli), + #[clap(name = "remove-rule", alias = "rm")] + Remove(rm_rule_cli::RmRuleCli), /// Add or remove Label from rule #[clap(name = "label")] Label(LabelCli), /// Set action on a specific rule - #[clap(name = "action")] - Action(ActionCli), + #[clap(name = "set-action-on-rule")] + Action(ActionRuleCli), } #[derive(Parser, Debug)] diff --git a/src/cli/rules_cli/config_cli/action_cli.rs b/src/cli/rules_cli/config_cli/action_rule_cli.rs similarity index 94% rename from src/cli/rules_cli/config_cli/action_cli.rs rename to src/cli/rules_cli/config_cli/action_rule_cli.rs index 543f85d..514c563 100644 --- a/src/cli/rules_cli/config_cli/action_cli.rs +++ b/src/cli/rules_cli/config_cli/action_rule_cli.rs @@ -12,7 +12,7 @@ pub enum Action { } #[derive(Debug, Parser)] -pub struct ActionCli { +pub struct ActionRuleCli { /// Id of the rule on which action applies #[clap(short, long)] id: usize, @@ -21,7 +21,7 @@ pub struct ActionCli { action: Action, } -impl ActionCli { +impl ActionRuleCli { pub fn run(&self, mut config: Rules) -> Result<()> { if config.get_rule(self.id).is_none() { return Err(Error::RuleNotFound(self.id)); diff --git a/src/cli/rules_cli/config_cli/add_cli.rs b/src/cli/rules_cli/config_cli/add_rule_cli.rs similarity index 96% rename from src/cli/rules_cli/config_cli/add_cli.rs rename to src/cli/rules_cli/config_cli/add_rule_cli.rs index 0d86f07..1a7d72a 100644 --- a/src/cli/rules_cli/config_cli/add_cli.rs +++ b/src/cli/rules_cli/config_cli/add_rule_cli.rs @@ -23,7 +23,7 @@ impl fmt::Display for Period { } #[derive(Debug, Parser)] -pub struct AddCli { +pub struct AddRuleCli { /// Period for the rule #[arg(short, long)] period: Period, @@ -38,7 +38,7 @@ pub struct AddCli { delete: bool, } -impl AddCli { +impl AddRuleCli { pub fn run(&self, mut config: Rules) -> Result<(), Error> { let generate = self.label.is_none(); let message_age = MessageAge::new(self.period.to_string().as_str(), self.count)?; diff --git a/src/cli/rules_cli/config_cli/rm_cli.rs b/src/cli/rules_cli/config_cli/rm_rule_cli.rs similarity index 94% rename from src/cli/rules_cli/config_cli/rm_cli.rs rename to src/cli/rules_cli/config_cli/rm_rule_cli.rs index a620c5b..24d879d 100644 --- a/src/cli/rules_cli/config_cli/rm_cli.rs +++ b/src/cli/rules_cli/config_cli/rm_rule_cli.rs @@ -2,7 +2,7 @@ use clap::Parser; use cull_gmail::{Error, Rules}; #[derive(Debug, Parser)] -pub struct RmCli { +pub struct RmRuleCli { /// Id of the rule to remove #[clap(short, long)] id: Option, @@ -11,7 +11,7 @@ pub struct RmCli { label: Option, } -impl RmCli { +impl RmRuleCli { pub fn run(&self, mut config: Rules) -> Result<(), Error> { if self.id.is_none() && self.label.is_none() { return Err(Error::NoRuleSelector);