90 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#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
 |