summaryrefslogtreecommitdiff
path: root/contrib/pass.zsh-completion
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2014-03-22 12:01:52 -0600
committerJason A. Donenfeld <Jason@zx2c4.com>2014-03-22 12:03:12 -0600
commit47fed2c5d47a03fad7b91bfb890eed257e9c1b2d (patch)
tree46666ba401340524ab9c217a062c366f6e5ec818 /contrib/pass.zsh-completion
parent414bab7d973b50431854496811608c549fb541e1 (diff)
downloadpass-47fed2c5d47a03fad7b91bfb890eed257e9c1b2d.tar.gz
pass-47fed2c5d47a03fad7b91bfb890eed257e9c1b2d.tar.bz2
pass-47fed2c5d47a03fad7b91bfb890eed257e9c1b2d.zip
Makefile: do not use recursion and organize
Diffstat (limited to 'contrib/pass.zsh-completion')
-rw-r--r--contrib/pass.zsh-completion116
1 files changed, 0 insertions, 116 deletions
diff --git a/contrib/pass.zsh-completion b/contrib/pass.zsh-completion
deleted file mode 100644
index 0bb14de..0000000
--- a/contrib/pass.zsh-completion
+++ /dev/null
@@ -1,116 +0,0 @@
-#compdef pass
-
-# Copyright (C) 2012:
-# Johan Venant <jvenant@invicem.pro>
-# Brian Mattern <rephorm@rephorm.com>
-# Jason A. Donenfeld <Jason@zx2c4.com>.
-# All Rights Reserved.
-# This file is licensed under the GPLv2+. Please see COPYING for more information.
-
-_pass () {
- local cmd
- if (( CURRENT > 2)); then
- cmd=${words[2]}
- # Set the context for the subcommand.
- curcontext="${curcontext%:*:*}:pass-$cmd"
- # Narrow the range of words we are looking at to exclude `pass'
- (( CURRENT-- ))
- shift words
- # Run the completion for the subcommand
- case "${cmd}" in
- init)
- _arguments : \
- "-r[re-encrypt existing passwords]" \
- "--reencrypt[re-encrypt existing passwords]"
- _pass_complete_keys
- ;;
- ls|list|edit)
- _pass_complete_entries_with_subdirs
- ;;
- insert)
- _arguments : \
- "-e[echo password to console]" \
- "--echo[echo password to console]" \
- "-m[multiline]" \
- "--multiline[multiline]"
- _pass_complete_entries_with_subdirs
- ;;
- generate)
- _arguments : \
- "-n[don't include symbols in password]" \
- "--no-symbols[don't include symbols in password]" \
- "-c[copy password to the clipboard]" \
- "--clip[copy password to the clipboard]"
- _pass_complete_entries_with_subdirs
- ;;
- rm)
- _arguments : \
- "-f[force deletion]" \
- "--force[force deletion]" \
- "-r[recursively delete]" \
- "--recursive[recursively delete]"
- _pass_complete_entries_with_subdirs
- ;;
- git)
- local -a subcommands
- subcommands=(
- "init:Initialize git repository"
- "push:Push to remote repository"
- "pull:Pull from remote repository"
- "config:Show git config"
- "log:Show git log"
- "reflog:Show git reflog"
- )
- _describe -t commands 'pass git' subcommands
- ;;
- show|*)
- _pass_cmd_show
- ;;
- esac
- else
- local -a subcommands
- subcommands=(
- "init:Initialize new password storage"
- "ls:List passwords"
- "show:Decrypt and print a password"
- "insert:Insert a new password"
- "generate:Generate a new password using pwgen"
- "edit:Edit a password with \$EDITOR"
- "rm:Remove the password"
- "git:Call git on the password store"
- "version:Output version information"
- "help:Output help message"
- )
- _describe -t commands 'pass' subcommands
- _arguments : \
- "--version[Output version information]" \
- "--help[Output help message]"
- _pass_cmd_show
- fi
-}
-
-_pass_cmd_show () {
- _arguments : \
- "-c[put it on the clipboard]" \
- "--clip[put it on the clipboard]"
- _pass_complete_entries
-}
-_pass_complete_entries_helper () {
- local IFS=$'\n'
- local prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
- _values -C 'passwords' $(find -L "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print | sed -e "s#${prefix}.##" -e 's#\.gpg##' | sort)
-}
-
-_pass_complete_entries_with_subdirs () {
- _pass_complete_entries_helper
-}
-
-_pass_complete_entries () {
- _pass_complete_entries_helper -type f
-}
-
-_pass_complete_keys () {
- local IFS=$'\n'
- # Extract names and email addresses from gpg --list-keys
- _values 'gpg keys' $(gpg2 --list-secret-keys --with-colons | cut -d : -f 10 | sort -u | sed '/^$/d')
-}