use anyhow::Result;
use std::io::{self, IsTerminal, Write};
pub fn confirm(prompt: &str, assume_yes: bool) -> Result<bool> {
if assume_yes {
return Ok(true);
}
if !io::stdin().is_terminal() {
eprintln!(
"Opération annulée : entrée non interactive. Relancez avec --yes pour confirmer."
);
return Ok(false);
}
print!("{prompt} [o/N] ");
io::stdout().flush()?;
let mut answer = String::new();
io::stdin().read_line(&mut answer)?;
let answer = answer.trim().to_lowercase();
Ok(answer == "o" || answer == "oui" || answer == "y" || answer == "yes")
}