summaryrefslogtreecommitdiff
path: root/plugins/pass
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/pass')
-rw-r--r--plugins/pass/README.md22
-rw-r--r--plugins/pass/_pass17
2 files changed, 34 insertions, 5 deletions
diff --git a/plugins/pass/README.md b/plugins/pass/README.md
new file mode 100644
index 000000000..2b0704981
--- /dev/null
+++ b/plugins/pass/README.md
@@ -0,0 +1,22 @@
+# pass
+
+This plugin provides completion for the [pass](https://www.passwordstore.org/) password manager.
+
+To use it, add `pass` to the plugins array in your zshrc file.
+
+```
+plugins=(... pass)
+```
+
+## Configuration
+
+### Multiple repositories
+
+If you use multiple repositories, you can configure completion like this:
+```zsh
+compdef _pass workpass
+zstyle ':completion::complete:workpass::' prefix "$HOME/work/pass"
+workpass() {
+ PASSWORD_STORE_DIR=$HOME/work/pass pass $@
+}
+```
diff --git a/plugins/pass/_pass b/plugins/pass/_pass
index 7a9b1f955..5f3b8f541 100644
--- a/plugins/pass/_pass
+++ b/plugins/pass/_pass
@@ -6,11 +6,17 @@
# Brian Mattern <rephorm@rephorm.com>
# Jason A. Donenfeld <Jason@zx2c4.com>.
# All Rights Reserved.
-#
# This file is licensed under the GPLv2+.
-# Please visit http://git.zx2c4.com/password-store/tree/COPYING for more information.
+# Please visit https://git.zx2c4.com/password-store/tree/COPYING for more information.
+
+
+# If you use multiple repositories, you can configure completion like this:
#
-# Oh my zsh plugin maintainer: Santiago Borrazás <sanbor@gmail.com>
+# compdef _pass workpass
+# zstyle ':completion::complete:workpass::' prefix "$HOME/work/pass"
+# workpass() {
+# PASSWORD_STORE_DIR=$HOME/work/pass pass $@
+# }
_pass () {
@@ -117,8 +123,9 @@ _pass_cmd_show () {
}
_pass_complete_entries_helper () {
local IFS=$'\n'
- local prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
- _values -C 'passwords' ${$(find -L "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print 2>/dev/null | sed -e "s#${prefix}/\{0,1\}##" -e 's#\.gpg##' | sort):-""}
+ local prefix
+ zstyle -s ":completion:${curcontext}:" prefix prefix || prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
+ _values -C 'passwords' ${$(find -L "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print 2>/dev/null | sed -e "s#${prefix}/\{0,1\}##" -e 's#\.gpg##' -e 's#\\#\\\\#' | sort):-""}
}
_pass_complete_entries_with_subdirs () {