Add confirmation dialoge when file already exists in download directory

This commit is contained in:
Leonard Steppy 2025-01-15 13:45:49 +01:00
parent c7415478a8
commit 0829590486

View File

@ -121,8 +121,8 @@ enum OldVersionPolicy {
#[macro_export]
macro_rules! input {
($prompt: expr) => {{
print!("{}", $prompt);
($prompt: tt) => {{
print!($prompt);
io::stdout().flush().expect("failed to flush stdout");
let mut buf = String::new();
io::stdin()
@ -352,7 +352,6 @@ fn main() -> Result<(), String> {
.iter()
.any(|entry| entry.file_name() == file_name)
{
//TODO ask user whether they want to override, unless silent flag is set
let duplication_notification = format!(
"A file with the name {} already exists in {}",
file_name.to_string_lossy(),
@ -360,14 +359,18 @@ fn main() -> Result<(), String> {
);
if !args.quiet {
print!("{duplication_notification}. Do you want to replace it? [N|y]");
match input!("{duplication_notification}. Do you want to replace it? [N|y]")
.to_lowercase()
.as_str()
{
"y" | "yes" => break 'duplicate_check,
_ => {}
}
}
return Err(format!(
"A file with the name {} already exists in {}. You can override it with --override or -f",
file_name.to_string_lossy(),
working_directory.to_string_lossy()
));
"{duplication_notification}. You can override it with --override or -f"
));
}
}