From f32d83031646322b3a1f194107ae7dffe58bb94c Mon Sep 17 00:00:00 2001 From: sxyazi Date: Sun, 31 Mar 2024 21:36:58 +0800 Subject: [PATCH] Replace more `unwrap()` with `?` operator --- yazi-config/src/preset.rs | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/yazi-config/src/preset.rs b/yazi-config/src/preset.rs index 14a607c7..317c8fd4 100644 --- a/yazi-config/src/preset.rs +++ b/yazi-config/src/preset.rs @@ -1,6 +1,6 @@ use std::{mem, path::{Path, PathBuf}}; -use anyhow::Context; +use anyhow::{anyhow, Context, Result}; use toml::{Table, Value}; use crate::theme::Flavor; @@ -8,15 +8,15 @@ use crate::theme::Flavor; pub(crate) struct Preset; impl Preset { - pub(crate) fn yazi(p: &Path) -> anyhow::Result { + pub(crate) fn yazi(p: &Path) -> Result { Self::merge_path(p.join("yazi.toml"), include_str!("../preset/yazi.toml")) } - pub(crate) fn keymap(p: &Path) -> anyhow::Result { + pub(crate) fn keymap(p: &Path) -> Result { Self::merge_path(p.join("keymap.toml"), include_str!("../preset/keymap.toml")) } - pub(crate) fn theme(p: &Path) -> anyhow::Result { + pub(crate) fn theme(p: &Path) -> Result { let Ok(user) = std::fs::read_to_string(p.join("theme.toml")) else { return Ok(include_str!("../preset/theme.toml").to_owned()); }; @@ -24,10 +24,9 @@ impl Preset { return Self::merge_str(&user, include_str!("../preset/theme.toml")); }; - let p = p.join(format!("flavors/{}.yazi/flavor.toml", use_)); - let flavor = std::fs::read_to_string(&p) - .with_context(|| format!("Failed to load flavor {:?}", p)) - .unwrap(); + let p = p.join(format!("flavors/{use_}.yazi/flavor.toml")); + let flavor = + std::fs::read_to_string(&p).with_context(|| anyhow!("Failed to load flavor {p:?}"))?; Self::merge_str(&user, &Self::merge_str(&flavor, include_str!("../preset/theme.toml"))?) } @@ -38,21 +37,21 @@ impl Preset { } #[inline] - pub(crate) fn merge_str(user: &str, base: &str) -> anyhow::Result { + pub(crate) fn merge_str(user: &str, base: &str) -> Result { let mut t = user.parse()?; - Self::merge(&mut t, base.parse().unwrap(), 2); + Self::merge(&mut t, base.parse()?, 2); Ok(t.to_string()) } #[inline] - fn merge_path(user: PathBuf, base: &str) -> anyhow::Result { + fn merge_path(user: PathBuf, base: &str) -> Result { let s = std::fs::read_to_string(&user).unwrap_or_default(); if s.is_empty() { return Ok(base.to_string()); } - Ok(Self::merge_str(&s, base).context(format!("Loading {user:?}"))?) + Self::merge_str(&s, base).with_context(|| anyhow!("Loading {user:?}")) } fn merge(a: &mut Table, b: Table, max: u8) {