# /usr/share/bash-completion/completions/debsign # Bash command completion for ‘debsign(1)’. # Documentation: ‘bash(1)’, section “Programmable Completion”. shopt -s progcomp _have _debsign_completion && _debsign_completion () { COMPREPLY=() local cur="${COMP_WORDS[COMP_CWORD]}" local prev="${COMP_WORDS[COMP_CWORD-1]}" local options=( -h --help --version -r -m -e -k -a -t --multi -p --debs-dir -S --re-sign --no-re-sign --no-conf --noconf ) case "$prev" in -r) # The option requires a non-option argument here, but we # have no feasible way to generate auto-completion matches # for ‘username@remotehost’. Use an empty set. local host_options="" COMPREPLY=( $(compgen -W "$host_options" -- "$cur") ) ;; -m|-e) # The previous option requires an argument, but we # have no feasible way to generate auto-completion matches # for a maintainer identifier. Use an empty set. local maintainer_options="" COMPREPLY=( $(compgen -W "$maintainer_options" -- "$cur") ) ;; -k) # Provide completions for GnuPG secret key IDs. local keyid_options=$( gpg --fixed-list-mode --with-colons --fingerprint \ --list-secret-keys \ | awk -F':' '/^sec/{print $5}' ) COMPREPLY=( $( compgen -W "$keyid_options" | grep "^${cur:-.}" ) ) ;; -a) # Provide completions for system architecture identifiers. local arch_options=$(dpkg-architecture --list-known) COMPREPLY=( $(compgen -W "$arch_options" -- "$cur") ) ;; -t) # The previous option requires an argument, but we # have no feasible way to generate auto-completion matches # for a GNU system type identifier. Use an empty set. local type_options="" COMPREPLY=( $(compgen -W "$type_options" -- "$cur") ) ;; -p) # Provide completions for available commands. COMPREPLY=( $(compgen -A command -- "$cur") ) ;; --debs-dir) # Provide completions for existing directory paths. COMPREPLY=( $(compgen -o dirnames -A directory -- "$cur") ) ;; *) COMPREPLY=( $( compgen -G "${cur}*.changes" compgen -G "${cur}*.buildinfo" compgen -G "${cur}*.dsc" compgen -G "${cur}*.commands" compgen -W "${options[*]}" -- "$cur" ) ) compopt -o filenames compopt -o plusdirs ;; esac return 0 } && complete -F _debsign_completion debsign # Local variables: # coding: utf-8 # mode: shell-script # indent-tabs-mode: nil # End: # vim: fileencoding=utf-8 filetype=sh expandtab shiftwidth=4 :