summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEllie Huxtable <ellie@elliehuxtable.com>2024-03-04 17:50:30 +0000
committerGitHub <noreply@github.com>2024-03-04 17:50:30 +0000
commitb1155873ddcb33777474fd9f15f370b54cdd44f5 (patch)
tree47efc4f055ee558f374b6b529ad11c717b66ae36
parentede5a5febf78dbd69c72ca5fab5d9b5f3737de16 (diff)
fix(doctor): use a different method to detect env vars (#1819)
-rw-r--r--atuin/src/command/client/doctor.rs11
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> {