# 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]}" 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=( $( 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