diff options
author | Gheritarish <ilissiae@gmail.com> | 2022-11-07 19:53:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-07 19:53:36 +0100 |
commit | 6df14641ac48b380c56e1c72aa86b57861fbfb70 (patch) | |
tree | 09ee6c3e60a2bca323d323e7056f8bd5201e1b37 /plugins/1password/opswd | |
parent | 0145d744a9c4c11f00992f7f3ad9555bc8ac6177 (diff) | |
download | zsh-6df14641ac48b380c56e1c72aa86b57861fbfb70.tar.gz zsh-6df14641ac48b380c56e1c72aa86b57861fbfb70.tar.bz2 zsh-6df14641ac48b380c56e1c72aa86b57861fbfb70.zip |
feat(1password): add username copy to `opswd` (#10812)
Diffstat (limited to 'plugins/1password/opswd')
-rw-r--r-- | plugins/1password/opswd | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/plugins/1password/opswd b/plugins/1password/opswd index 57672807e..0f667d2ff 100644 --- a/plugins/1password/opswd +++ b/plugins/1password/opswd @@ -14,6 +14,17 @@ function opswd() { # If not logged in, print error and return op user list > /dev/null || return + local username + # Copy the username to the clipboard + if ! username=$(op item get "$service" --fields username 2>/dev/null); then + echo "error: could not obtain username for $service" + return 1 + fi + + echo -n "$username" | clipcopy + echo "✔ username for service $service copied to the clipboard. Press Enter to continue" + read + local password # Copy the password to the clipboard if ! password=$(op item get "$service" --fields password 2>/dev/null); then @@ -22,12 +33,13 @@ function opswd() { fi echo -n "$password" | clipcopy - echo "✔ password for $service copied to clipboard" + echo "✔ password for $service copied to clipboard. Press Enter to continue" + read - # If there's a one time password, copy it to the clipboard after 10 seconds + # If there's a one time password, copy it to the clipboard local totp if totp=$(op item get --otp "$service" 2>/dev/null) && [[ -n "$totp" ]]; then - sleep 10 && echo -n "$totp" | clipcopy + echo -n "$totp" | clipcopy echo "✔ TOTP for $service copied to clipboard" fi |