m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Altmanninger <aclopte@gmail.com>2021-05-18 22:59:25 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2021-05-18 23:03:08 +0200
commit4e73cdc4c376ad61d2e4858bc87cf01eab0dd403 (patch)
tree1c6898665e32ff9d2212e2daf33d2f3cdaf47edc
parent918992c19231b33b3d4a3288a7288a620e608cb4 (diff)
fish-completion: don't print full path when PASSWORD_STORE_DIR is set
"__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.
-rw-r--r--src/completion/pass.fish-completion8
1 files 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