diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-03-22 12:01:52 -0600 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-03-22 12:03:12 -0600 |
commit | 47fed2c5d47a03fad7b91bfb890eed257e9c1b2d (patch) | |
tree | 46666ba401340524ab9c217a062c366f6e5ec818 /contrib/pass.bash-completion | |
parent | 414bab7d973b50431854496811608c549fb541e1 (diff) | |
download | pass-47fed2c5d47a03fad7b91bfb890eed257e9c1b2d.tar.gz pass-47fed2c5d47a03fad7b91bfb890eed257e9c1b2d.tar.bz2 pass-47fed2c5d47a03fad7b91bfb890eed257e9c1b2d.zip |
Makefile: do not use recursion and organize
Diffstat (limited to 'contrib/pass.bash-completion')
-rw-r--r-- | contrib/pass.bash-completion | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/contrib/pass.bash-completion b/contrib/pass.bash-completion deleted file mode 100644 index d0ef012..0000000 --- a/contrib/pass.bash-completion +++ /dev/null @@ -1,87 +0,0 @@ -# completion file for bash - -# Copyright (C) 2012 Jason A. Donenfeld <Jason@zx2c4.com> and -# Brian Mattern <rephorm@rephorm.com>. All Rights Reserved. -# This file is licensed under the GPLv2+. Please see COPYING for more information. - -_pass_complete_entries () { - prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store/}" - suffix=".gpg" - autoexpand=${1:-0} - - local IFS=$'\n' - local items=($(compgen -f $prefix$cur)) - for item in ${items[@]}; do - if [[ $item == $prefix.* ]]; then - continue - fi - - # if there is a unique match, and it is a directory with one entry - # autocomplete the subentry as well (recursively) - if [[ ${#items[@]} -eq 1 && $autoexpand -eq 1 ]]; then - while [[ -d $item ]]; do - local subitems=($(compgen -f "$item/")) - if [[ ${#subitems[@]} -eq 1 ]]; then - item="${subitems[0]}" - else - break - fi - done - fi - - # append / to directories - [[ -d $item ]] && item="$item/" - - item="${item%$suffix}" - COMPREPLY+=("${item#$prefix}") - done -} - -_pass_complete_keys () { - local IFS=$'\n' - # Extract names and email addresses from gpg --list-keys - local keys="$(gpg2 --list-secret-keys --with-colons | cut -d : -f 10 | sort -u | sed '/^$/d')" - COMPREPLY+=($(compgen -W "${keys}" -- ${cur})) -} - -_pass() -{ - COMPREPLY=() - local cur="${COMP_WORDS[COMP_CWORD]}" - local commands="init ls show insert generate edit rm git help version" - if [[ $COMP_CWORD -gt 1 ]]; then - case "${COMP_WORDS[1]}" in - init) - COMPREPLY+=($(compgen -W "-e --reencrypt" -- ${cur})) - _pass_complete_keys - ;; - ls|list|edit) - _pass_complete_entries - ;; - show|-*) - COMPREPLY+=($(compgen -W "-c --clip" -- ${cur})) - _pass_complete_entries 1 - ;; - insert) - COMPREPLY+=($(compgen -W "-e --echo -m --multiline -f --force" -- ${cur})) - _pass_complete_entries - ;; - generate) - COMPREPLY+=($(compgen -W "-n --no-symbols -c --clip -f --force" -- ${cur})) - _pass_complete_entries - ;; - rm|remove|delete) - COMPREPLY+=($(compgen -W "-r --recursive -f --force" -- ${cur})) - _pass_complete_entries - ;; - git) - COMPREPLY+=($(compgen -W "init push pull config log reflog" -- ${cur})) - ;; - esac - else - COMPREPLY+=($(compgen -W "${commands}" -- ${cur})) - _pass_complete_entries 1 - fi -} - -complete -o filenames -o nospace -F _pass pass |