summaryrefslogtreecommitdiffstats
path: root/scripts/dscextract.bash_completion
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--scripts/dscextract.bash_completion34
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 :