From 2c8fe9fffae2d7ff8bff24347aaafd9ed5615b90 Mon Sep 17 00:00:00 2001 From: Rob Gonnella Date: Fri, 27 Dec 2024 08:49:23 -0500 Subject: [PATCH] Uses unwrap_or when setting formatting process directory --- helix-view/src/document.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/helix-view/src/document.rs b/helix-view/src/document.rs index d4f63dafae204..effd6df0b38d7 100644 --- a/helix-view/src/document.rs +++ b/helix-view/src/document.rs @@ -761,12 +761,13 @@ impl Document { use std::process::Stdio; let text = self.text().clone(); let mut process = tokio::process::Command::new(&fmt_cmd); - if let Some(path) = self.path.clone() { - if let Some(parent) = path.parent() { - process.current_dir(parent); - } - } + let cwd = std::env::current_dir().unwrap_or(PathBuf::from(".")); + let file_path = cwd.join(self.display_name().to_string()); + let doc_path = self.path.clone().unwrap_or(PathBuf::from(file_path)); + let doc_dir = doc_path.parent().unwrap_or(cwd.as_path()); + process + .current_dir(doc_dir) .args(fmt_args) .stdin(Stdio::piped()) .stdout(Stdio::piped())