# bash completion for sbopkg(8) -*- shell-script -*- proc _sbopkg { var cur = '', prev = '', words = '', cword = '' _init_completion || return if [[ "$cur" == -* ]] { setglobal COMPREPLY = '( '$( compgen -W '$( _parse_help "$1" -h )' -- "$cur" ) ) [[ $COMPREPLY ]] && return } match $prev { with -e setglobal COMPREPLY = '( '$( compgen -W 'ask continue stop' -- "$cur" ) ) return with -f _filedir return with -d _filedir -d return with -V setglobal COMPREPLY = '( '$( compgen -W "? $( sbopkg -V ? 2>&1 | cut -s -f1 )" -- "$cur" ) ) return with -i|-b with * return } var i = '', config = '' set config = '"/etc/sbopkg/sbopkg.conf'" for (( i=${#words[@]}-1; i>0; i-- )); do if [[ "${words[i]}" == -f ]]; then config="${words[i+1]}" __expand_tilde_by_ref config break fi done [[ -r "$config" ]] || return source $config for (( i=1; i<${#words[@]}; i++ )); do case "${words[i]}" in -V) REPO_NAME="${words[i+1]%%/*}" REPO_BRANCH="${words[i+1]#*/}" ;; -d) REPO_ROOT="${words[i+1]}" ;; esac done [[ -r $REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT ]] || return setglobal COMPREPLY = '( '$( sed -ne "/^SLACKBUILD NAME: $cur/{s/^SLACKBUILD NAME: //;p}"\ $REPO_ROOT/$REPO_NAME/$REPO_BRANCH/SLACKBUILDS.TXT ) $( cd $QUEUEDIR; compgen -f -X "!*.sqf" -- "$cur" ) ) } && complete -F _sbopkg sbopkg # ex: ts=4 sw=4 et filetype=sh