WIP: show all buffers that couldn't be closed

This commit is contained in:
Cole Helbling 2021-11-20 13:42:40 -08:00 committed by Blaž Hrastnik
parent 6118486eb2
commit e023a78919

View File

@ -2090,6 +2090,7 @@ fn buffer_close_impl(
return Ok(());
}
let mut nonexistent_buffers = vec![];
for arg in args {
let doc_id = editor.documents().find_map(|doc| {
let arg_path = Some(Path::new(arg.as_ref()));
@ -2104,12 +2105,19 @@ fn buffer_close_impl(
match doc_id {
Some(doc_id) => editor.close_document(doc_id, force)?,
None => {
editor.set_error(format!("couldn't close buffer '{}': does not exist", arg));
}
None => nonexistent_buffers.push(arg),
}
}
let nonexistent_buffers: Vec<_> = nonexistent_buffers
.into_iter()
.map(|str| format!("'{}'", str))
.collect();
editor.set_error(format!(
"couldn't close buffer(s) {}: does not exist",
nonexistent_buffers.join(", ")
));
Ok(())
}