
# bash completions

# enable system-wide programmable completion features 
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi
unset rc

### local additions

for bc in ~/.bash.d/completions.d/* ; do
	. "$bc"
done


_epguides_core() {
        local cur
	local root="$1"
	local start=1
	local temp

	shift

	for (( start=1; start < COMP_CWORD ; start++ )) ; do
		temp="${COMP_WORDS[start]}"
		if [[ "${temp#-}" == "$temp" ]]; then
			break
		fi
	done

        COMPREPLY=()
        cur=${COMP_WORDS[COMP_CWORD]}
 
	case $COMP_CWORD in
	$start)
        	COMPREPLY=( $( /bin/ls -l $root/ | \
			awk "/^d/ && \$9 ~ /^${cur}/ { print \$9 }" ) ) 
		;;
	*)
		###COMPREPLY=( $( compgen -f -- "${COMP_WORDS[COMP_CWORD]}" ) )
		_filedir
		;;
	esac

        return 0
}

_epguides() {
	_epguides_core /run/media/jabr/Carbon14/video/epguides/from_caprica
	return 0
}

_imgs_categories() {
	_epguides_core /net/gryffindor/mnt/pool1/imgs/categories
        return 0
}

_celebs() {
	_epguides_core /u/celebs
        return 0
}

_pfaces() {
	_epguides_core /u/faces
        return 0
}

_people() {
	_epguides_core /u/people
        return 0
}

_modules() {
        local cur

        COMPREPLY=()
        cur=${COMP_WORDS[COMP_CWORD]}
 
        COMPREPLY=( $( /bin/ls -l /usr/share/Modules/modulefiles/ | \
		awk "/^-/ && \$9 ~ /^${cur}/ { print \$9 }" ) ) 

        return 0
}

_celebs_png_f() {
        local cur
	local root=/net/gryffindor/mnt/pool1/collage/people/female

        COMPREPLY=()
        cur=${COMP_WORDS[COMP_CWORD]}
 
        COMPREPLY=( $( /bin/ls -l "$root" | \
		awk "/^d/ && \$9 ~ /^${cur}/ { print \$9 }" ) ) 

        return 0
}



complete -F _epguides -o filenames missing
complete -F _epguides -o filenames svlook
complete -F _epguides -o filenames svllook
complete -F _epguides -o filenames svzlook
complete -F _epguides -o filenames svcompare
complete -F _epguides -o filenames epck
complete -F _epguides -o filenames epupdate
complete -F _epguides -o filenames edupdate
complete -F _epguides -o filenames epdetails
complete -F _epguides -o filenames showsize
complete -F _epguides -o filenames upcoming
complete -F _epguides -o filenames tup
complete -F _epguides -o filenames epfetch.py
complete -F _celebs -o filenames celebs
complete -F _pfaces -o filenames pfaces
complete -F _people -o filenames people
complete -F _modules -o filenames module
complete -F _celebs_png_f -o filenames celebs_png_f
complete -F _celebs_png_f -o filenames celebs-png-f

complete -F _epguides -o filenames missing

complete -F _imgs_categories -o filenames imgfile

complete -f -X '!*.ty' tycvt
