feat(command): add add-items command
Implement `add-items` command to allow adding multiple items to a category at once. - Added `AddItemsCmd` to `src/command/cmd.rs` . - Registered `add-items` in `CmdRegistry` . - Added unit tests for `add-items` in `src/command/parse.rs` . Co-Authored-By: fiddlerwoaroof/git-smart-commit (unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q5_K_XL)
This commit is contained in:
@ -1987,6 +1987,30 @@ effect_cmd!(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
effect_cmd!(
|
||||||
|
AddItemsCmd,
|
||||||
|
"add-items",
|
||||||
|
|args: &[String]| {
|
||||||
|
if args.len() < 2 {
|
||||||
|
Err("add-items requires a category and at least one item".to_string())
|
||||||
|
} else {
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|args: &Vec<String>, _ctx: &CmdContext| -> Vec<Box<dyn Effect>> {
|
||||||
|
let category = &args[0];
|
||||||
|
args[1..]
|
||||||
|
.iter()
|
||||||
|
.map(|item| -> Box<dyn Effect> {
|
||||||
|
Box::new(effect::AddItem {
|
||||||
|
category: category.clone(),
|
||||||
|
item: item.clone(),
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.collect()
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
effect_cmd!(
|
effect_cmd!(
|
||||||
AddItemInGroupCmd,
|
AddItemInGroupCmd,
|
||||||
"add-item-in-group",
|
"add-item-in-group",
|
||||||
@ -2257,6 +2281,7 @@ pub fn default_registry() -> CmdRegistry {
|
|||||||
// ── Model mutations (effect_cmd! wrappers) ───────────────────────────
|
// ── Model mutations (effect_cmd! wrappers) ───────────────────────────
|
||||||
r.register_pure(&AddCategoryCmd(vec![]), AddCategoryCmd::parse);
|
r.register_pure(&AddCategoryCmd(vec![]), AddCategoryCmd::parse);
|
||||||
r.register_pure(&AddItemCmd(vec![]), AddItemCmd::parse);
|
r.register_pure(&AddItemCmd(vec![]), AddItemCmd::parse);
|
||||||
|
r.register_pure(&AddItemsCmd(vec![]), AddItemsCmd::parse);
|
||||||
r.register_pure(&AddItemInGroupCmd(vec![]), AddItemInGroupCmd::parse);
|
r.register_pure(&AddItemInGroupCmd(vec![]), AddItemInGroupCmd::parse);
|
||||||
r.register_pure(&SetCellCmd(vec![]), SetCellCmd::parse);
|
r.register_pure(&SetCellCmd(vec![]), SetCellCmd::parse);
|
||||||
r.register(
|
r.register(
|
||||||
|
|||||||
Reference in New Issue
Block a user