mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-19 13:33:52 +01:00
52 lines
1.8 KiB
Plaintext
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
|