aboutsummaryrefslogtreecommitdiffstats
path: root/atuin-common/src/utils.rs
diff options
context:
space:
mode:
authorPatrick Decat <pdecat@gmail.com>2023-03-15 00:15:39 +0100
committerGitHub <noreply@github.com>2023-03-14 23:15:39 +0000
commitefd2230eba28cea6265288315e80ca1be96783c2 (patch)
tree1c9595b5fbff144b501b4b749698013fa35f67c1 /atuin-common/src/utils.rs
parentFixes a bug on windows (#780) (diff)
downloadatuin-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.rs12
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 {