diff --git a/src/helpers.rs b/src/helpers.rs index d240772e..5118722a 100644 --- a/src/helpers.rs +++ b/src/helpers.rs @@ -53,13 +53,18 @@ pub fn cargo_home() -> Result<&'static Path, io::Error> { .map(ops::Deref::deref) } +/// Returned file is readable and writable. pub fn create_if_not_exist(path: impl AsRef) -> io::Result { let path = path.as_ref(); - fs::File::options() + let mut options = fs::File::options(); + options.read(true).write(true); + + options + .clone() .create_new(true) .open(path) - .or_else(|_| fs::File::open(path)) + .or_else(|_| options.open(path)) } pub async fn await_task(task: tokio::task::JoinHandle>) -> miette::Result {