diff options
| author | Patrick Decat <pdecat@gmail.com> | 2023-03-15 00:15:39 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-14 23:15:39 +0000 |
| commit | efd2230eba28cea6265288315e80ca1be96783c2 (patch) | |
| tree | 1c9595b5fbff144b501b4b749698013fa35f67c1 /atuin-common/src/utils.rs | |
| parent | Fixes a bug on windows (#780) (diff) | |
| download | atuin-efd2230eba28cea6265288315e80ca1be96783c2.zip | |
Prefer PWD environment variable over cwd if available to better support symbolic links (#783)
Diffstat (limited to 'atuin-common/src/utils.rs')
| -rw-r--r-- | atuin-common/src/utils.rs | 12 |
1 files changed, 12 insertions, 0 deletions
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 { |
