helix-view:move_path create target directory on move

This commit is contained in:
Pontus Laestadius 2024-08-28 18:10:42 +02:00
parent 1b5295a3f3
commit 082791211e

View File

@ -1370,6 +1370,10 @@ pub fn move_path(&mut self, old_path: &Path, new_path: &Path) -> io::Result<()>
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)?;
if let Some(doc) = self.document_by_path(old_path) {
self.set_doc_path(doc.id(), &new_path);