#!/bin/zsh
# set -x

if test -z $ROFI_RETV
then
    rofi -show gopass -modi "gopass:$0" \
        -kb-accept-custom "" \
        -kb-accept-alt "" \
        -kb-custom-1 "Shift+Return" \
        -kb-custom-2 "Control+Return"

fi

# echo "args $* --- retv $ROFI_RETV" >&2

error() {
    local msg=$1

    echo -e "\0message\x1f<span color='red'>$(xargs <<< $msg)</span>\n"
    gopass ls -f
}

case "$ROFI_RETV" in
    # run it in backgroud and quit rofi
    0)  echo -e "\0use-hot-keys\x1ftrue\n"
        echo -e "\0message\x1fControl-Enter for login, Shift-Enter for OTP\n"
        gopass ls -f ;;
    1) ( gopass show -c $1 > /dev/null ) & ;;
    10) (
        out=$(gopass otp -c $1 2>&1)
        (( $? > 0 )) && error "$out"
        ) & ;;
    11) (
        out=$(gopass show -c ${1} login 2>&1)
        (( $? > 0 )) && error "$out"
        ) & ;;
esac
