Sindbad~EG File Manager
# bash completion for FreeBSD portinstall -*- shell-script -*-
_portinstall()
{
local cur prev words cword
_init_completion || return
local portsdir indexfile
local -a COMPREPLY2
portsdir=${PORTSDIR:-/usr/ports}/
# First try INDEX-5
indexfile=$portsdir/INDEX-5
# Then INDEX if INDEX-5 does not exist or system is not FreeBSD 5.x
[[ "${OSTYPE%.*}" == freebsd5 && -f $indexfile ]] ||
indexfile=$portsdir/INDEX
[[ "$prev" == -l || "$prev" == -L || "$prev" == -o ]] && return
COMPREPLY=( $( command grep -E "^$cur" 2>/dev/null < $indexfile | \
cut -d'|' -f1 ) )
COMPREPLY2=( $( command grep -E "^[^\|]+\|$portsdir$cur" 2>/dev/null \
< $indexfile | cut -d'|' -f2 ) )
COMPREPLY2=( ${COMPREPLY2[@]#$portsdir} )
COMPREPLY+=( "${COMPREPLY2[@]}" )
} &&
complete -F _portinstall -o dirnames portinstall
# ex: filetype=sh
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists