From cc5240eeec3c55a8d65091b73c109e0a794faf32 Mon Sep 17 00:00:00 2001 From: "Dustin J. Mitchell" Date: Sun, 13 Jun 2021 15:40:57 -0400 Subject: [PATCH] Create config directory if necessary --- cli/src/settings/settings.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cli/src/settings/settings.rs b/cli/src/settings/settings.rs index 440e6cb4a..83f8938ae 100644 --- a/cli/src/settings/settings.rs +++ b/cli/src/settings/settings.rs @@ -186,6 +186,14 @@ impl Settings { let exists = filename.exists(); + // try to create the parent directory if the file does not exist + if !exists { + if let Some(dir) = filename.parent() { + fs::create_dir_all(dir)?; + } + } + + // start with the existing document, or a blank document let mut document = if exists { fs::read_to_string(filename.clone()) .context("Could not read existing configuration file")?