[PATCH v2] fish-completion: don't print full path when PASSWORD_STORE_DIR is set

Johannes Altmanninger aclopte at gmail.com
Tue May 18 20:59:25 UTC 2021


"__fish_pass_print" enumerates all files in the password store and
uses sed to strip their common prefix - the password store directory.
If $PASSWORD_STORE_DIR had a trailing slash, sed would fail to remove
the prefix. Fix this by canonicalizing $PASSWORD_STORE_DIR.
---
 src/completion/pass.fish-completion | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/completion/pass.fish-completion b/src/completion/pass.fish-completion
index 3e70af1..38a4865 100644
--- a/src/completion/pass.fish-completion
+++ b/src/completion/pass.fish-completion
@@ -6,11 +6,11 @@
 set -l PROG 'pass'
 
 function __fish_pass_get_prefix
-    set -l prefix "$PASSWORD_STORE_DIR"
-    if [ -z "$prefix" ]
-        set prefix "$HOME/.password-store"
+    if set -q PASSWORD_STORE_DIR
+        realpath -- "$PASSWORD_STORE_DIR"
+    else
+        echo "$HOME/.password-store"
     end
-    echo "$prefix"
 end
 
 function __fish_pass_needs_command
-- 
2.31.1




More information about the Password-Store mailing list