diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2016-12-19 03:11:14 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2016-12-20 19:31:05 +0100 |
commit | 2bc437df229865456a77fbb982e187aa69304e98 (patch) | |
tree | 4a67e6ef5dfc17b84979b81794982f653936086a /src | |
parent | 639c46a342466209e9b0600c2b3574bb44a0ff31 (diff) |
Add extensions
Diffstat (limited to 'src')
-rwxr-xr-x | src/password-store.sh | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/password-store.sh b/src/password-store.sh index 7b1d5a5..e68a14e 100755 --- a/src/password-store.sh +++ b/src/password-store.sh @@ -13,6 +13,7 @@ which gpg2 &>/dev/null && GPG="gpg2" [[ -n $GPG_AGENT_INFO || $GPG == "gpg2" ]] && GPG_OPTS+=( "--batch" "--use-agent" ) PREFIX="${PASSWORD_STORE_DIR:-$HOME/.password-store}" +EXTENSIONS="${PASSWORD_STORE_EXTENSION_DIR:-$PREFIX/.extensions}" X_SELECTION="${PASSWORD_STORE_X_SELECTION:-clipboard}" CLIP_TIME="${PASSWORD_STORE_CLIP_TIME:-45}" GENERATED_LENGTH="${PASSWORD_STORE_GENERATED_LENGTH:-25}" @@ -573,6 +574,18 @@ cmd_git() { fi } +cmd_extension() { + local extension="$EXTENSIONS/$1.bash" + check_sneaky_paths "$extension" + if [[ -f $extension && -x $extension ]]; then + shift + source "$extension" "$@" + else + COMMAND="show" + cmd_show "$@" + fi +} + # # END subcommand functions # @@ -594,6 +607,6 @@ case "$1" in rename|mv) shift; cmd_copy_move "move" "$@" ;; copy|cp) shift; cmd_copy_move "copy" "$@" ;; git) shift; cmd_git "$@" ;; - *) COMMAND="show"; cmd_show "$@" ;; + *) cmd_extension "$@" ;; esac exit 0 |