use anyhow::Result;
use smartpasslib::SmartPasswordManager;
use crate::output;
use super::{confirm, find_entry, short_key};
pub fn run(key: Option<String>, description: Option<String>, yes: bool) -> Result<()> {
let mut manager = SmartPasswordManager::new()?;
let entry = find_entry(&manager, key, description)?;
if !yes {
let prompt = format!(
"Delete entry '{}' ({})?",
entry.description,
short_key(&entry.public_key)
);
if !confirm(&prompt) {
output::note("Cancelled.");
return Ok(());
}
}
let deleted = manager.delete(&entry.public_key)?;
if deleted {
output::success(&format!("Deleted entry '{}'", entry.description));
} else {
output::error("Entry not found");
}
Ok(())
}