From 8e84bf04465eebf5b86e71357d811acafdefd1ce Mon Sep 17 00:00:00 2001 From: "Dustin J. Mitchell" Date: Sun, 13 Jun 2021 15:36:18 -0400 Subject: [PATCH] Create a new doc if necessary in `ta config set` --- cli/src/settings/settings.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cli/src/settings/settings.rs b/cli/src/settings/settings.rs index 95d0e4d2e..440e6cb4a 100644 --- a/cli/src/settings/settings.rs +++ b/cli/src/settings/settings.rs @@ -184,10 +184,16 @@ impl Settings { .ok_or_else(|| anyhow!("Could not determine config file name"))? }; - let mut document = fs::read_to_string(filename.clone()) - .context("Could not read existing configuration file")? - .parse::() - .context("Could not parse existing configuration file")?; + let exists = filename.exists(); + + let mut document = if exists { + fs::read_to_string(filename.clone()) + .context("Could not read existing configuration file")? + .parse::() + .context("Could not parse existing configuration file")? + } else { + Document::new() + }; // set the value as the correct type match key {