helix-view:move_path create target directory on move

pull/11593/head
Pontus Laestadius 3 months ago
parent 1b5295a3f3
commit 082791211e

@ -1370,6 +1370,10 @@ impl Editor {
log::error!("failed to apply workspace edit: {err:?}") log::error!("failed to apply workspace edit: {err:?}")
} }
} }
// Create the target directory if it doesn't exist. fs::rename won't do that implicitly.
if let Some(parent) = new_path.parent() {
fs::create_dir_all(parent)?;
}
fs::rename(old_path, &new_path)?; fs::rename(old_path, &new_path)?;
if let Some(doc) = self.document_by_path(old_path) { if let Some(doc) = self.document_by_path(old_path) {
self.set_doc_path(doc.id(), &new_path); self.set_doc_path(doc.id(), &new_path);

Loading…
Cancel
Save