#compdef apt-file
_apt-file() {
local -a arguments
local state line cmds
arguments=(
'(--cache -c)'{--cache,-c}'[cache directory]:directory:_directories'
'(-v --verbose)'{-v,--verbose}'[verbose]'
'(--cdrom-mount -d)'{--cdrom-mount,-d}'[cdrom mount point]:directory:_directories'
'(--ignore-case -i)'{--ignore-case,-i}'[ignore case]'
'(--regexp -r)'{--regexp,-r}'[regular expression]'
'(-V --version)'{-V,--version}'[version]'
'(-a --architecture)'{-a,--architecture}'[architecture]:architecture:(alpha arm hppa hurd-i386 i386 ia64 m68k mips mipsel powerpc s390 sparc)'
'(-s --sources-list)'{-s,--sources-list}'[source.list file]:file:_files'
'(-l --package-only)'{-l,--package-only}'[only display package name]'
'(-F --fixed-string)'{-F,--fixed-string}'[do not expand search pattern]'
'(-y --dummy)'{-y,--dummy}'[run in dummy mode]'
'(-h --help)'{-h,--help}'[display help screen]'
'1: :->cmds'
'*: :->args'
)
_arguments -S $arguments
case $state in
cmds)
cmds=(
'update:resynchronize package contents'
'search:search in which package file is included'
'list:list contents of a package'
'show:alias for list'
'purge:remove all Contents-<ARCH>.gz files in cache directory'
)
_describe -t commands 'apt-list command' cmds && ret=0
;;
args)
case $line[1] in
search)
_message "pattern"
;;
list|show)
_deb_packages avail
;;
update|purge)
# do nothing
;;
*)
_message "command $line[1] not available"
;;
esac
;;
esac
}
_apt-file "$@"
Copyright 2K16 - 2K18 Indonesian Hacker Rulez