From df6a8787ddfd73b10040edc8f406622574b2d0d9 Mon Sep 17 00:00:00 2001 From: c0dev0id Date: Wed, 26 Apr 2023 12:31:59 +0200 Subject: [PATCH] Update 2023-04-26 12:31 OpenBSD/amd64-dalek --- .bin/passmenu-edit | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/.bin/passmenu-edit b/.bin/passmenu-edit index 47ad203..bf3bd35 100755 --- a/.bin/passmenu-edit +++ b/.bin/passmenu-edit @@ -4,15 +4,41 @@ shopt -s nullglob globstar prefix=${PASSWORD_STORE_DIR-~/.password-store} -password_files=( "$prefix"/**/*.gpg ) -password_files=( "${password_files[@]#"$prefix"/}" ) -password_files=( "${password_files[@]%.gpg}" ) - - while true do -password=$(printf '%s\n' "${password_files[@]}" | fzf) -[[ -n $password ]] || exit -pass edit "$password" + unset password_files; + + + password_files=( "$prefix"/**/*.gpg ) + password_files=( "${password_files[@]#"$prefix"/}" ) + password_files=( "${password_files[@]%.gpg}" ) + password=$(printf '%s\n' "${password_files[@]}" | fzf -i $EXTRA --preview="pass {1}") + + [[ -n "$password" ]] || exit + + EXTRA="-q ${password#*/}" + + echo "---------" + echo "Selected: $password" + PASS="$(pass "$password")" + echo "Password: $(echo "$PASS" | head -1)" + echo "$PASS" | grep -i "^username:" + echo "$PASS" | grep -i "^email:" + echo "$PASS" | grep -i "^url:" + echo "---------" + echo -n "[E]dit [R]ename [N]ew [D]elete: " + read + + case $REPLY in + [eE]) echo "Editing $password."; pass edit "$password"; ;; + [rR]) echo -n "Rename to: "; read; [ ! -z "$REPLY" ] && pass mv "$password" "$REPLY"; ;; + [nN]) pass generate -i "$password" 22; ;; + [dD]) pass rm "$password"; unset EXTRA; ;; + esac + + echo + echo "Press any key to continue" + read + done