# bash completion for sbopkg(8) -*- shell-script -*- _sbopkg() { local cur prev words cword _init_completion || return if [[ "$cur" == -* ]]; then COMPREPLY=( $(compgen -W '$(_parse_help "$1" -h)' -- "$cur") ) [[ $COMPREPLY ]] && return fi case "$prev" in -e) COMPREPLY=( $(compgen -W 'ask continue stop' -- "$cur") ) return ;; -f) _filedir return ;; -d) _filedir -d return ;; -V) COMPREPLY=( $(compgen -W "? $(sbopkg -V ? 2>&1 | cut -s -f1)" -- "$cur") ) return ;; -i|-b) ;; *) return ;; esac local i config 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 . $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 COMPREPLY=( $(command 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: filetype=sh