diff options
Diffstat (limited to 'scripts/dscextract.bash_completion')
-rw-r--r-- | scripts/dscextract.bash_completion | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/dscextract.bash_completion b/scripts/dscextract.bash_completion new file mode 100644 index 0000000..bf7eadc --- /dev/null +++ b/scripts/dscextract.bash_completion @@ -0,0 +1,34 @@ +# /usr/share/bash-completion/completions/dscextract +# Bash command completion for ‘dscextract(1)’. +# Documentation: ‘bash(1)’, section “Programmable Completion”. + +# Copyright © 2015, Nicholas Bamber <nicholas@periapt.co.uk> + +_dscextract() +{ + local cur prev words cword _options + _init_completion || return + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-f' -- "$cur" ) ) + elif [[ "$prev" == -f ]]; then + declare -a _compreply=( $( compgen -o filenames -G '*.dsc' ) ) + COMPREPLY=( $( compgen -W "${_compreply[*]}" -- "$cur" ) ) + elif [[ "$prev" == *.dsc ]]; then + declare -a _compreply=( $( tar tvf ${prev/.dsc/.debian.tar.*} 2>/dev/null | sed 's! \+! !g' | cut -d' ' -f6 ) ) + COMPREPLY=( $( compgen -W "${_compreply[*]}" -- "$cur" ) ) + else + declare -a _compreply=( $( compgen -W '-f' -o filenames -G '*.dsc' ) ) + COMPREPLY=( $( compgen -W "${_compreply[*]}" -- "$cur" ) ) + fi + + return 0 +} && complete -F _dscextract dscextract + + +# Local variables: +# coding: utf-8 +# mode: shell-script +# indent-tabs-mode: nil +# End: +# vim: fileencoding=utf-8 filetype=sh expandtab shiftwidth=4 : |