MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / run

Method run

atomic-cli/src/commands/intent/delete.rs:36–73  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

34
35impl Command for IntentDelete {
36 fn run(&self) -> CliResult<()> {
37 let root = find_repository_root()?;
38 let repo = Repository::open(&root).map_err(CliError::Repository)?;
39
40 if !self.force {
41 let prompt = format!(
42 "Discard intent '{}'? This removes the unstarted draft from the vault.",
43 self.id
44 );
45 let confirmed = dialoguer::Confirm::new()
46 .with_prompt(&prompt)
47 .default(false)
48 .interact()
49 .map_err(|e| CliError::Internal(anyhow::anyhow!("Prompt failed: {}", e)))?;
50
51 if !confirmed {
52 return Err(CliError::Cancelled);
53 }
54 }
55
56 let result = repo
57 .vault_intent_delete(&self.id)
58 .map_err(CliError::Repository)?;
59
60 if self.json {
61 let json = serde_json::json!({
62 "id": result.id,
63 "intent_file": result.intent_file,
64 "deleted": true,
65 });
66 println!("{}", serde_json::to_string_pretty(&json).unwrap());
67 } else {
68 println!("Deleted intent: {}", result.id);
69 println!(" file: .vault/{}", result.intent_file);
70 }
71
72 Ok(())
73 }
74}

Callers

nothing calls this directly

Calls 4

find_repository_rootFunction · 0.85
with_promptMethod · 0.80
vault_intent_deleteMethod · 0.80
defaultMethod · 0.45

Tested by

no test coverage detected