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
|
#compdef apt-file
local curcontext="$curcontext" state line expl cmds ret=1
typeset -A opt_args
_arguments -C -S \
'(--cache -c)'{--cache,-c}'[cache directory]:directory:_directories' \
'(-v --verbose)'{-v,--verbose}'[verbose]' \
'(--cdrom-mount -d)'{--cdrom-mount,-d}'[cdrom mount point]:directory:_directories' \
'(--from-file -f --from-deb -D)'{--from-file,-f}'[read patterns from given file]' \
'(--from-deb -D --from-file -f)'{--from-dev,-D}'[use contents of given .deb archives as patterns]' \
'(--ignore-case -i)'{--ignore-case,-i}'[ignore case]' \
'(--regexp -x)'{--regexp,-x}'[regular expression]' \
'(-V --version)'{-V,--version}'[version]' \
'(-a --architecture)'{-a,--architecture}'[architecture]:architecture:_deb_architectures' \
'(-s --sources-list)'{-s,--sources-list}'[source.list file]:file:_files' \
'(-l --package-only)'{-l,--package-only}'[only display package name]' \
'(-N --non-interactive)'{-N,--non-interactive}'[skip schemes requiring user input]' \
'(-F --fixed-string)'{-F,--fixed-string}'[do not expand search pattern]' \
'(-y --dummy)'{-y,--dummy}'[run in dummy mode]' \
'(-)'{-h,--help}'[display help screen]' \
'1: :->cmds' \
'*: :->args' && ret=0
case $state in
cmds)
cmds=(
'update:resynchronize package contents'
{find,search}:'search in which package file is included'
{list,show}:'list contents of a package'
'purge:remove all Contents-<ARCH>.gz files in cache directory'
)
_describe -t commands 'apt-list command' cmds
;;
args)
case $line[1] in
search|find)
if (( $#opt_args[(I)(-D|--from-deb)] )); then
_wanted files expl 'debian package' _files -g '*.deb(-.)'
elif (( $#opt_args[(I)(-f|--from-file)] )); then
_files
else
_message -e patterns "pattern"
fi
;;
list|show)
_deb_packages avail
;;
update|purge)
# do nothing
;;
*)
_message "command $line[1] not available"
;;
esac
;;
esac && ret=0
return ret
|