blob: 9c619bb918b8ad2e81dc4cf0a740ecd831e7a7bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
From: Uwe Storbeck <uwe@ibr.ch>
Subject: support more options for dpkg-deb
Origin: vendor, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=698977
Bug-Debian: https://bugs.debian.org/698977
Forwarded: no
---
completions/dpkg | 44 +++++++++++++++++++++++++++++++++++++++++---
1 file changed, 41 insertions(+), 3 deletions(-)
--- bash-completion.orig/completions/dpkg
+++ bash-completion/completions/dpkg
@@ -81,7 +81,45 @@ _dpkg()
COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
} &&
- complete -F _dpkg dpkg dpkg-deb dpkg-query
+ complete -F _dpkg dpkg dpkg-query
+
+# Debian dpkg-deb(1) completion
+#
+_dpkg_deb()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ _expand || return 0
+
+ local i=$cword
+
+ # find the last option flag
+ if [[ $cur != -* ]]; then
+ while [[ $prev != -* && $i -ne 1 ]]; do
+ i=$((i-1))
+ prev=${words[i-1]}
+ done
+ fi
+
+ case $prev in
+ -c|-I|-W|-f|-e|-x|-X|-R|--contents|--info|--show|--field|--control| \
+ --extract|--vextract|--raw-extract|--fsys-tarfile)
+ _filedir '?(u|d)deb'
+ return 0
+ ;;
+ -b|--build)
+ _filedir -d
+ return 0
+ ;;
+ esac
+
+ $split && return
+
+ COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
+ [[ $COMPREPLY == *= ]] && compopt -o nospace
+} &&
+complete -F _dpkg_deb dpkg-deb
# Debian GNU dpkg-reconfigure(8) completion
#
|