1
0
Fork 0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-12-26 22:31:59 +00:00
ohmyzsh/plugins/macports/_port
Søren Nielsen fae34b383d
feat(macports): add 'reclaim' to completion list for Macports (#9521)
The sub-command `reclaim` is quite useful for freeing up disk space.
`reclaim` is a useful command that is missing from the list of completions in the plugin.

The description is for the `reclaim` sub-command is:
"port reclaim will find files that can be removed to reclaim disk space by uninstalling inactive ports on your system as well as unnecessary unrequested ports, and removing unneeded or unused installation files. The user is then provided interactive options for files to remove. No files are removed initially, until the user selects them from the provided list."

For all the details use this command on a system with Macports installed:

`port help reclaim`
2021-01-11 20:26:37 +01:00

92 lines
1.5 KiB
Text

#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'
'rdependents'
'rdeps'
'reclaim'
'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