• Søren Nielsen's avatar
    feat(macports): add 'reclaim' to completion list for Macports (#9521) · fae34b38
    Søren Nielsen authored
    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`
    fae34b38
_port 1.51 KB
#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