diff options
Diffstat (limited to '')
-rw-r--r-- | completions/mcrypt | 44 |
1 files changed, 21 insertions, 23 deletions
diff --git a/completions/mcrypt b/completions/mcrypt index 0c3ab5e..3135244 100644 --- a/completions/mcrypt +++ b/completions/mcrypt @@ -1,67 +1,65 @@ # mcrypt(1) completion -*- shell-script -*- # by Ariel Fermani <the_end@bbs.frc.utn.edu.ar> -_mcrypt() +_comp_cmd_mcrypt() { - local cur prev words cword - _init_completion || return + local cur prev words cword comp_args + _comp_initialize -- "$@" || return case $prev in -g | --openpgp-z) - COMPREPLY=($(compgen -W '{0..9}' -- "$cur")) + _comp_compgen -- -W '{0..9}' return ;; -o | --keymode) - COMPREPLY=($(compgen -W '$($1 --list-keymodes 2>/dev/null )' \ - -- "$cur")) + _comp_compgen_split -- "$("$1" --list-keymodes 2>/dev/null)" return ;; -m | --mode) - COMPREPLY=($(compgen -W "$($1 --list 2>/dev/null | cut -d: -f2-)" \ - -- "$cur")) + _comp_compgen_split -- "$("$1" --list 2>/dev/null | cut -d: -f2-)" return ;; -a | --algorithm) - COMPREPLY=($(compgen -W "$($1 --list 2>/dev/null | - awk '{print $1}')" -- "$cur")) + _comp_compgen_split -- "$("$1" --list 2>/dev/null | + _comp_awk '{print $1}')" return ;; -h | --hash) - COMPREPLY=($(compgen -W '$($1 --list-hash 2>/dev/null | \ - command sed -e 1d)' -- "$cur")) + _comp_compgen_split -- "$("$1" --list-hash 2>/dev/null | + command sed -e 1d)" return ;; -k | -s | --key | --keysize) return ;; -f | -c | --keyfile | --config) - _filedir + _comp_compgen_filedir return ;; --algorithms-directory | --modes-directory) - _filedir -d + _comp_compgen_filedir -d return ;; esac if [[ $cur == -* ]]; then - COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) + _comp_compgen_help elif [[ ${words[0]} == mdecrypt ]]; then - _filedir nc + _comp_compgen_filedir nc else - local i decrypt=0 - for ((i = 1; i < ${#words[@]} - 1; i++)); do + local i decrypt="" + for ((i = 1; i < cword; i++)); do if [[ ${words[i]} == -@(d|-decrypt) ]]; then - _filedir nc - decrypt=1 + _comp_compgen_filedir nc + decrypt=set break fi done - if ((decrypt == 0)); then - _filedir + if [[ ! $decrypt ]]; then + _comp_compgen_filedir fi fi } && - complete -F _mcrypt mcrypt mdecrypt + complete -F _comp_cmd_mcrypt mcrypt mdecrypt # ex: filetype=sh |