about summary refs log tree commit diff
path: root/Completion/Debian/Command/_apt-move
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Debian/Command/_apt-move')
-rw-r--r--Completion/Debian/Command/_apt-move61
1 files changed, 32 insertions, 29 deletions
diff --git a/Completion/Debian/Command/_apt-move b/Completion/Debian/Command/_apt-move
index c7ca59099..a72378e6f 100644
--- a/Completion/Debian/Command/_apt-move
+++ b/Completion/Debian/Command/_apt-move
@@ -1,9 +1,10 @@
 #compdef apt-move
 
-local curcontext="$curcontext" state line ret=1
+local curcontext="$curcontext" state line cmds ret=1
 typeset -A opt_args
 
 _arguments -C \
+  '-a[process all packages]' \
   '-c[specify an alternative configuration file]' \
   '-d[override the DIST setting]' \
   '-f[override the MAXDELETE setting]' \
@@ -14,37 +15,39 @@ _arguments -C \
 
 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
+    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
+      get|getlocal)
+        _directories && ret=0
+      ;;
+      movefile)
+        _files -g "*.d(sc|eb)(-.)" && ret=0
+      ;;
+      listbin)
+        _wanted lists expl list compadd mirror sync repo
+      ;;
+    esac
   ;;
 esac