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