Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: _apt-file



Hi,
Here a completion script suggestion for apt-file, a command used on 
Debian.


diff -Nur zsh/Completion/Debian/Command/_apt-file zsh~/Completion/Debian/Command/_apt-file
--- zsh/Completion/Debian/Command/_apt-file	1970-01-01 01:00:00.000000000 +0100
+++ zsh~/Completion/Debian/Command/_apt-file	2006-12-17 15:55:56.000000000 +0100
@@ -0,0 +1,55 @@
+#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 "$@"

Attachment: signature.asc
Description: Digital signature



Messages sorted by: Reverse Date, Date, Thread, Author