diff options
author | Ellie Huxtable <ellie@elliehuxtable.com> | 2024-03-04 17:50:30 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-04 17:50:30 +0000 |
commit | b1155873ddcb33777474fd9f15f370b54cdd44f5 (patch) | |
tree | 47efc4f055ee558f374b6b529ad11c717b66ae36 | |
parent | ede5a5febf78dbd69c72ca5fab5d9b5f3737de16 (diff) |
fix(doctor): use a different method to detect env vars (#1819)
-rw-r--r-- | atuin/src/command/client/doctor.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/atuin/src/command/client/doctor.rs b/atuin/src/command/client/doctor.rs index d6d179c7..c0479dda 100644 --- a/atuin/src/command/client/doctor.rs +++ b/atuin/src/command/client/doctor.rs @@ -25,17 +25,18 @@ impl ShellInfo { // // Every shell we support handles `shell -c 'command'` fn env_exists(shell: &str, var: &str) -> bool { - let mut cmd = Command::new(shell) - .args(["-ic", format!("echo ${var}").as_str()]) + let cmd = Command::new(shell) + .args([ + "-ic", + format!("[ -z ${var} ] || echo ATUIN_DOCTOR_ENV_FOUND").as_str(), + ]) .output() .map_or(String::new(), |v| { let out = v.stdout; String::from_utf8(out).unwrap_or_default() }); - cmd.retain(|c| !c.is_whitespace()); - - !cmd.is_empty() + cmd.contains("ATUIN_DOCTOR_ENV_FOUND") } pub fn plugins(shell: &str) -> Vec<String> { |