diff options
Diffstat (limited to 'plugins/pass')
-rw-r--r-- | plugins/pass/README.md | 22 | ||||
-rw-r--r-- | plugins/pass/_pass | 17 |
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 () { |