From ac36fe351d883304ee2c4afb94b8dd983127acc3 Mon Sep 17 00:00:00 2001 From: Ryze Date: Tue, 7 Feb 2023 16:25:08 +0300 Subject: [PATCH] Use if let instead of or in get_config_path --- src/config.rs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/config.rs b/src/config.rs index 223f2a6..266f69d 100644 --- a/src/config.rs +++ b/src/config.rs @@ -65,12 +65,22 @@ impl Config { } fn get_config_path() -> String { - let mpv_home = env::var("MPV_HOME").or( - env::var("HOME").and_then(|home| Ok(home + "/.config/mpv/")).or( - env::var("XDG_CONFIG_HOME").and_then(|home| Ok(home + "/.mpv/")) - ) - ).unwrap_or("/etc/mpv/".to_string()); + Config::get_mpv_home() + "rpc.json" + } - return mpv_home + "rpc.json" + fn get_mpv_home() -> String { + if let Ok(home) = env::var("MPV_HOME") { + return home; + } + + if let Ok(home) = env::var("HOME") { + return home + "/.config/mpv/"; + } + + if let Ok(home) = env::var("XDG_CONFIG_HOME") { + return home + "/.mpv/"; + } + + "/etc/mpv/".to_owned() } }