#!/usr/bin/env bash

## Run the `show` subcommand of the password manager `pass`, but instead of
## entering the password name as usual, select the password file using fzf.
##
## Usage: pass-show [<pass-option>...]
##
## Dependencies: fzf, GNU sed, pass

set -euo pipefail
shopt -s inherit_errexit

[[ " $* " =~ ' --help ' ]] && sed -n 's/^## \?//p' "$0" && exit

# Run `pass show`, but not in a pipeline (using xargs) because doing so will
# result in a GnuPG error if the private key hasn't already been decrypted.
pw_file=$(cd "${PASSWORD_STORE_DIR:-~/.password-store}"; fzf)
pass show "$@" "${pw_file%.gpg}"
