1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-11-19 13:33:52 +01:00
zsh/Completion/Debian/Command/_apt-move

52 lines
1.8 KiB
Plaintext

#compdef apt-move
local curcontext="$curcontext" state line ret=1
typeset -A opt_args
_arguments -C \
'-c[specify an alternative configuration file]' \
'-d[override the DIST setting]' \
'-f[override the MAXDELETE setting]' \
'-q[be quiet; suppress normal output]' \
'-t[show what apt-move would do, but do not actually do anything]' \
'1: :->cmds' \
'*: :->args' && ret=0
case $state in
cmds)
local -a cmds
cmds=('get:update your master files from local apt' \
'getlocal:alias of get' \
'fsck:fix broken repositories' \
'move:move cache files into mirror tree' \
'movefile:move files into the repository' \
'delete:delete obsolete packages' \
'packages:create new local Packages files' \
'update:alias for: get move delete packages' \
'local:alias for: move delete packages' \
'localupdate:alias for: getlocal move delete packages' \
'mirror:update your local mirror from remote rsync site' \
'sync:same as mirror, but only gets packages that you currently have installed on your system' \
'exclude:prints a list of all packages EXCLUDED from the mirror by the .exclude file' \
'listbin:prints lists of packages which can serve as the input to mirrorbin(mirror,sync,repo)' \
'listsrc:same as listbin, but lists source packages' \
'mirrorbin:same as mirror, but gets the packages specified on stdin' \
'mirrorsrc:same as mirrorbin, but gets source packages')
_describe -t commands 'apt-move command' cmds && ret=0
;;
args)
case $line[1] in
get|getlocal)
# A directory or nothing
_files -/ && ret=0
;;
movefile)
# A .dsc or a .deb
_files -g "*.d(sc|eb)" && ret=0
;;
esac
;;
esac
return ret