From 94f647b24ade77be1eaf6bdb6df3ab4086a66ddb Mon Sep 17 00:00:00 2001 From: hybo <52079867+me1ting@users.noreply.github.com> Date: Thu, 16 Mar 2023 17:06:52 +0800 Subject: [PATCH] chore: evaluate error context lazily (#447) --- src-tauri/src/config/profiles.rs | 8 ++++---- src-tauri/src/utils/help.rs | 17 ++++++++++------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src-tauri/src/config/profiles.rs b/src-tauri/src/config/profiles.rs index 47dfb43..dc7a3de 100644 --- a/src-tauri/src/config/profiles.rs +++ b/src-tauri/src/config/profiles.rs @@ -138,9 +138,9 @@ impl IProfiles { let path = dirs::app_profiles_dir()?.join(&file); fs::File::create(path) - .context(format!("failed to create file \"{}\"", file))? + .with_context(|| format!("failed to create file \"{}\"", file))? .write(file_data.as_bytes()) - .context(format!("failed to write to file \"{}\"", file))?; + .with_context(|| format!("failed to write to file \"{}\"", file))?; } if self.items.is_none() { @@ -207,9 +207,9 @@ impl IProfiles { let path = dirs::app_profiles_dir()?.join(&file); fs::File::create(path) - .context(format!("failed to create file \"{}\"", file))? + .with_context(|| format!("failed to create file \"{}\"", file))? .write(file_data.as_bytes()) - .context(format!("failed to write to file \"{}\"", file))?; + .with_context(|| format!("failed to write to file \"{}\"", file))?; } break; diff --git a/src-tauri/src/utils/help.rs b/src-tauri/src/utils/help.rs index 2d4a32f..e642917 100644 --- a/src-tauri/src/utils/help.rs +++ b/src-tauri/src/utils/help.rs @@ -11,19 +11,21 @@ pub fn read_yaml(path: &PathBuf) -> Result { } let yaml_str = fs::read_to_string(&path) - .context(format!("failed to read the file \"{}\"", path.display()))?; + .with_context(|| format!("failed to read the file \"{}\"", path.display()))?; - serde_yaml::from_str::(&yaml_str).context(format!( - "failed to read the file with yaml format \"{}\"", - path.display() - )) + serde_yaml::from_str::(&yaml_str).with_context(|| { + format!( + "failed to read the file with yaml format \"{}\"", + path.display() + ) + }) } /// read mapping from yaml fix #165 pub fn read_merge_mapping(path: &PathBuf) -> Result { let mut val: Value = read_yaml(path)?; val.apply_merge() - .context(format!("failed to apply merge \"{}\"", path.display()))?; + .with_context(|| format!("failed to apply merge \"{}\"", path.display()))?; Ok(val .as_mapping() @@ -45,7 +47,8 @@ pub fn save_yaml(path: &PathBuf, data: &T, prefix: Option<&str>) - }; let path_str = path.as_os_str().to_string_lossy().to_string(); - fs::write(path, yaml_str.as_bytes()).context(format!("failed to save file \"{path_str}\"")) + fs::write(path, yaml_str.as_bytes()) + .with_context(|| format!("failed to save file \"{path_str}\"")) } const ALPHABET: [char; 62] = [