_portmaster () {
	local cur
	cur=${COMP_WORDS[COMP_CWORD]}

	case "$cur" in
	/usr/ports/*)
		COMPREPLY=( $( compgen -d $cur ) ) ;;
	*/*)	COMPREPLY=( $( compgen -d /usr/ports/$cur ) ) ;;
	--*)	COMPREPLY=( $( compgen -W '--force-config --show-work \
		--clean-distfiles --clean-distfiles-all	--check-depends \
		--check-port-dbdir --list-origins --packages --packages-only \
		--packages-build --packages-if-newer --delete-build-only \
		--always-fetch --local-packagedir= --no-confirm \
		--no-term-title \
		--help --version' -- $cur ) )
		;;
	*)	COMPREPLY=( $( compgen -d /var/db/pkg/$cur ) )
		COMPREPLY=( ${COMPREPLY[@]#/var/db/pkg/} )
		COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -d /usr/ports/$cur/ ) )
		;;
	esac

	return 0
}
complete -F _portmaster portmaster
