diff options
author | Matt Cable <wozz@wookie.net> | 2011-03-13 16:08:12 -0600 |
---|---|---|
committer | Matt Cable <wozz@wookie.net> | 2011-03-13 16:21:48 -0600 |
commit | fa344733e5d7cee33e4c3ba6a9a7241c7b6377ca (patch) | |
tree | 6b9acc731c42695bc0c90d7b638971013bbd6b68 /plugins/macports/_port | |
parent | 746a10368acd38d80cd35c2b97202a9187d58a05 (diff) | |
download | zsh-fa344733e5d7cee33e4c3ba6a9a7241c7b6377ca.tar.gz zsh-fa344733e5d7cee33e4c3ba6a9a7241c7b6377ca.tar.bz2 zsh-fa344733e5d7cee33e4c3ba6a9a7241c7b6377ca.zip |
Add completion for port command
Diffstat (limited to 'plugins/macports/_port')
-rw-r--r-- | plugins/macports/_port | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/plugins/macports/_port b/plugins/macports/_port new file mode 100644 index 000000000..06d7fb426 --- /dev/null +++ b/plugins/macports/_port @@ -0,0 +1,89 @@ +#compdef port + +local subcmds + +# we cache the list of ports +# we shall use some cache policy to avoid problems with new ports +if (( ! $+portlist )); then + portlist=($(port echo all; echo "all current active inactive installed uninstalled outdated")) +fi + +subcmds=( +'activate' +'archive' +'build' +'cat' +'clean' +'configure' +'contents' +'deactivate' +'dependents' +'deps' +'destroot' +'dir' +'distcheck' +'distclean' +'dmg' +'echo' +'edit' +'extract' +'fetch' +'file' +'help' +'info' +'install' +'installed' +'list' +'livecheck' +'location' +'mpkg' +'outdated' +'patch' +'pkg' +'provides' +'rpmpackage' +'search' +'selfupdate' +'sync' +'test' +'unarchive' +'uninstall' +'upgrade' +'variants' +'version' +) + +_arguments -C \ +'-v[verbose mode (generate verbose messages)]' \ +'-d[debug mode (generate debugging messages)]' \ +'-q[quiet mode (suppress messages)]' \ +'-D[specify portdir]' \ +'-k[keep mode (do not autoclean after install)]' \ +'-n[dont follow dependencies in upgrade (only for upgrading)]' \ +'-a[upgrade all installed ports (only for upgrading)]' \ +'-u[uninstall non-active ports when upgrading and uninstalling]' \ +'-f[force mode (ignore state file)]' \ +'-s[source-only mode]' \ +'-b[binary-only mode]' \ +'-o[honor state files older than Portfile]' \ +'*::command:->command' \ +&& return 0 + +case $state in + command) + if ((CURRENT == 1)); then + state=subcommands + else + state=portname + fi + ;; +esac + +case $state in + subcommands) + _describe -t commands 'port commands' subcmds + ;; + portname) + _describe -t commands 'available ports' portlist + ;; +esac |