Matt Cable
14 years ago
2 changed files with 94 additions and 0 deletions
@ -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 |
Loading…
Reference in new issue