1
0
mirror of https://github.com/robbyrussell/oh-my-zsh.git synced 2025-12-06 07:20:40 +01:00

feat(rbw): add rbwpw function to copy passwords to the clipboard (#10639)

This commit is contained in:
Carlo Sala
2022-02-09 22:55:05 +01:00
committed by GitHub
parent 897fa09f15
commit c41f2e7a09
2 changed files with 40 additions and 0 deletions

View File

@@ -17,3 +17,33 @@ if [[ ! -f "$ZSH_CACHE_DIR/completions/_rbw" ]]; then
fi
rbw gen-completions zsh >| "$ZSH_CACHE_DIR/completions/_rbw" &|
# rbwpw function copies the password of a service to the clipboard
# and clears it after 20 seconds
function rbwpw {
if [[ $# -ne 1 ]]; then
echo "usage: rbwpw <service>"
return 1
fi
local service=$1
if ! rbw unlock; then
echo "rbw is locked"
return 1
fi
local pw=$(rbw get $service 2>/dev/null)
if [[ -z $pw ]]; then
echo "$service not found"
return 1
fi
echo -n $pw | clipcopy
echo "password for $service copied!"
{sleep 20 && clipcopy </dev/null 2>/dev/null} &|
}
function _rbwpw {
local -a services
services=("${(@f)$(rbw ls 2>/dev/null)}")
[[ -n "$services" ]] && compadd -a -- services
}
compdef _rbwpw rbwpw