From 5844fcbb9a1a1d8cfccdcd5467b23e3ace529c76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sven=20M=C3=A4der?= <maeder@phys.ethz.ch>
Date: Fri, 20 Sep 2024 14:08:47 +0200
Subject: [PATCH] Only source completion if binary in ~/.local/bin

Source the envrcd completions only if binaries are actually found
in ~/.local/bin and executable.
Fixes incompatibility with possibly installed system packages.
---
 profile/rda/envrcd.d/50-complete | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/profile/rda/envrcd.d/50-complete b/profile/rda/envrcd.d/50-complete
index 8a13abb..14277b5 100644
--- a/profile/rda/envrcd.d/50-complete
+++ b/profile/rda/envrcd.d/50-complete
@@ -27,8 +27,10 @@ fi
 # bash completions for local commands in ~/.local/bin
 LOCAL_COMMANDS="fzf tldr zellij uv xh sd delta dust pdu dog hyperfine btm broot lsd eza"
 for LOCAL_COMMAND in ${LOCAL_COMMANDS}; do
-  #if [ -x "$(command -v ${LOCAL_COMMAND})" ]; then  # POSIX compatible
-  if hash ${LOCAL_COMMAND} 2>/dev/null; then  # bash builtin
-    source_if_exists "${ENVRCD_PATH}/profile/_assets/completions/${LOCAL_COMMAND}_bash"
-  fi
+    #if [ -x "$(command -v ${LOCAL_COMMAND})" ]; then  # POSIX compatible
+    if hash ${LOCAL_COMMAND} 2>/dev/null; then  # bash builtin
+        if [ -x ~/.local/bin/${LOCAL_COMMAND} ]; then
+            source_if_exists "${ENVRCD_PATH}/profile/_assets/completions/${LOCAL_COMMAND}_bash"
+        fi
+    fi
 done
-- 
GitLab