From efd2230eba28cea6265288315e80ca1be96783c2 Mon Sep 17 00:00:00 2001 From: Patrick Decat Date: Wed, 15 Mar 2023 00:15:39 +0100 Subject: Prefer PWD environment variable over cwd if available to better support symbolic links (#783) --- atuin-common/src/utils.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'atuin-common/src/utils.rs') diff --git a/atuin-common/src/utils.rs b/atuin-common/src/utils.rs index d85b3b96..1d330390 100644 --- a/atuin-common/src/utils.rs +++ b/atuin-common/src/utils.rs @@ -1,3 +1,4 @@ +use std::env; use std::path::PathBuf; use chrono::NaiveDate; @@ -36,6 +37,17 @@ pub fn data_dir() -> PathBuf { data_dir.join("atuin") } +pub fn get_current_dir() -> String { + // Prefer PWD environment variable over cwd if available to better support symbolic links + match env::var("PWD") { + Ok(v) => v, + Err(_) => match env::current_dir() { + Ok(dir) => dir.display().to_string(), + Err(_) => String::from(""), + }, + } +} + pub fn get_days_from_month(year: i32, month: u32) -> i64 { NaiveDate::from_ymd( match month { -- cgit v1.3.1