# Slackware Linux upgradepkg completion -*- shell-script -*- _upgradepkg() { local cur prev words cword _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '--dry-run --install-new --reinstall --verbose' -- "$cur" ) ) return fi if [[ "$cur" == ?*%* ]]; then prev="${cur%%?(\\)%*}" cur="${cur#*%}" local nofiles IFS=$'\n' compopt -o filenames COMPREPLY=( $( compgen -P "$prev%" -f -X "!*.@(t[bgxl]z)" -- "$cur" ) ) [[ $COMPREPLY ]] || nofiles=1 COMPREPLY+=( $( compgen -P "$prev%" -S '/' -d -- "$cur" ) ) [[ $nofiles ]] && compopt -o nospace return fi _filedir 't[bglx]z' } && complete -F _upgradepkg upgradepkg # ex: ts=4 sw=4 et filetype=sh