m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/contrib/pass.bash-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.bash-completion
parent414bab7d973b50431854496811608c549fb541e1 (diff)
Makefile: do not use recursion and organize
Diffstat (limited to 'contrib/pass.bash-completion')
-rw-r--r--contrib/pass.bash-completion87
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